diff options
Diffstat (limited to 'game.c')
| -rw-r--r-- | game.c | 26 |
1 files changed, 18 insertions, 8 deletions
@@ -1,16 +1,15 @@ - -#include <stdio.h> #include <glad/glad.h> #include <GLFW/glfw3.h> -#include <math.h> #include "game.h" -void character_callback(GLFWwindow* window, unsigned int codepoint) { - printf("%c\n", codepoint); -} +#define MIN(a,b) (((a)<(b))?(a):(b)) +#define MAX(a,b) (((a)>(b))?(a):(b)) +#define CLAMP(x,a,b) (MIN(MAX(x,a),b)) -void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods) { +int mouse_x = 0, mouse_y = 0; + +void key_callback(int key, int scancode, int action, int mods) { if (action != GLFW_PRESS) return; switch (key) { case GLFW_KEY_ENTER: @@ -20,6 +19,17 @@ void key_callback(GLFWwindow* window, int key, int scancode, int action, int mod } } +void cursor_position_callback(int xpos, int ypos) { + mouse_x = xpos; + mouse_y = ypos; +} + +void mouse_button_callback(int button, int action, int mods) { + if (button == GLFW_MOUSE_BUTTON_RIGHT && action == GLFW_PRESS) {} +} + void draw_image(decoded_image img) { - for (int i = 0; i < img.buf_size; i++) img.buf[i] = i; + // for (int i = 0; i < img.buf_size; i++) img.buf[i] = i; + img.buf[CLAMP(mouse_y, 0, img.height) * img.width + + CLAMP(mouse_x, 0, img.width)] = -1; } |
