Minor tweaks to testhittesting.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
diff --git a/test/testhittesting.c b/test/testhittesting.c
index 5f2f274..5e32be4 100644
--- a/test/testhittesting.c
+++ b/test/testhittesting.c
@@ -28,22 +28,29 @@ hitTest(SDL_Window *window, const SDL_Point *pt, void *data)
}
SDL_GetWindowSize(window, &w, &h);
- if (pt->x < RESIZE_BORDER && pt->y < RESIZE_BORDER)
- return SDL_HITTEST_RESIZE_TOPLEFT;
- if (pt->x > RESIZE_BORDER && pt->x < w - RESIZE_BORDER && pt->y < RESIZE_BORDER)
- return SDL_HITTEST_RESIZE_TOP;
- if (pt->x > w - RESIZE_BORDER && pt->y < RESIZE_BORDER)
- return SDL_HITTEST_RESIZE_TOPRIGHT;
- if (pt->x > w - RESIZE_BORDER && pt->y > RESIZE_BORDER && pt->y < h - RESIZE_BORDER)
- return SDL_HITTEST_RESIZE_RIGHT;
- if (pt->x > w - RESIZE_BORDER && pt->y > h - RESIZE_BORDER)
- return SDL_HITTEST_RESIZE_BOTTOMRIGHT;
- if (pt->x < w - RESIZE_BORDER && pt->x > RESIZE_BORDER && pt->y > h - RESIZE_BORDER)
- return SDL_HITTEST_RESIZE_BOTTOM;
- if (pt->x < RESIZE_BORDER && pt->y > h - RESIZE_BORDER)
- return SDL_HITTEST_RESIZE_BOTTOMLEFT;
- if (pt->x < RESIZE_BORDER && pt->y < h - RESIZE_BORDER && pt->y > RESIZE_BORDER)
- return SDL_HITTEST_RESIZE_LEFT;
+
+ #define REPORT_RESIZE_HIT(name) { \
+ SDL_Log("HIT-TEST: RESIZE_" #name "\n"); \
+ return SDL_HITTEST_RESIZE_##name; \
+ }
+
+ if (pt->x < RESIZE_BORDER && pt->y < RESIZE_BORDER) {
+ REPORT_RESIZE_HIT(TOPLEFT);
+ } else if (pt->x > RESIZE_BORDER && pt->x < w - RESIZE_BORDER && pt->y < RESIZE_BORDER) {
+ REPORT_RESIZE_HIT(TOP);
+ } else if (pt->x > w - RESIZE_BORDER && pt->y < RESIZE_BORDER) {
+ REPORT_RESIZE_HIT(TOPRIGHT);
+ } else if (pt->x > w - RESIZE_BORDER && pt->y > RESIZE_BORDER && pt->y < h - RESIZE_BORDER) {
+ REPORT_RESIZE_HIT(RIGHT);
+ } else if (pt->x > w - RESIZE_BORDER && pt->y > h - RESIZE_BORDER) {
+ REPORT_RESIZE_HIT(BOTTOMRIGHT);
+ } else if (pt->x < w - RESIZE_BORDER && pt->x > RESIZE_BORDER && pt->y > h - RESIZE_BORDER) {
+ REPORT_RESIZE_HIT(BOTTOM);
+ } else if (pt->x < RESIZE_BORDER && pt->y > h - RESIZE_BORDER) {
+ REPORT_RESIZE_HIT(BOTTOMLEFT);
+ } else if (pt->x < RESIZE_BORDER && pt->y < h - RESIZE_BORDER && pt->y > RESIZE_BORDER) {
+ REPORT_RESIZE_HIT(LEFT);
+ }
SDL_Log("HIT-TEST: NORMAL\n");
return SDL_HITTEST_NORMAL;