From 31de8f8b99ad6e3d2fb9c4f8ca67909a679427d6 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Thu, 5 Jun 2014 00:49:25 -0400 Subject: [PATCH] Minor tweaks to testhittesting. --- test/testhittesting.c | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/test/testhittesting.c b/test/testhittesting.c index 5f2f274d4..5e32be42d 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;