summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorJuan Manuel Tomas <jtomas1815@gmail.com>2022-01-20 05:18:00 -0300
committerJuan Manuel Tomas <jtomas1815@gmail.com>2022-01-20 05:18:00 -0300
commitaca708aa91f9db51a69f27e3e855b24144bd26ed (patch)
treeed0ae21dbf421ea115809c78bae1cf2fd69ccc60 /main.c
parent9384448fd3e54d9d787d7c35bc1069487ab07d88 (diff)
downloadcannons-aca708aa91f9db51a69f27e3e855b24144bd26ed.tar.gz
cannons-aca708aa91f9db51a69f27e3e855b24144bd26ed.zip
Make mask brush a circle
Diffstat (limited to 'main.c')
-rw-r--r--main.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/main.c b/main.c
index 9d53b94..407a1cd 100644
--- a/main.c
+++ b/main.c
@@ -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) {