diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -4,9 +4,12 @@ #include "platform.c" void PaintMask(float *mask, float x, float y, float color, float size) { - for (int j = y - size / 2; j < y + size / 2; j++) { - for (int i = x - size / 2; i < x + size / 2; i++) { - if (i > 0 && i < WINDOW_W && j > 0 && j < WINDOW_H) { + for (int j = y - size; j < y + size; j++) { + for (int i = x - size; i < x + size; i++) { + float dj = y - j; + float di = x - i; + if (i > 0 && i < WINDOW_W && j > 0 && j < WINDOW_H + && dj * dj + di * di <= size * size / 2) { size_t index = i + j * WINDOW_W; mask[index] = color; } @@ -41,7 +44,7 @@ void GameMain() { } int mouse_x, mouse_y; Uint32 mouse_state = SDL_GetMouseState(&mouse_x, &mouse_y); - float size = 100; + float size = 20; if (mouse_state & SDL_BUTTON_LMASK) { PaintMask(mask, mouse_x, WINDOW_H - mouse_y, 1.0, size); } else if (mouse_state & SDL_BUTTON_RMASK) { |