Преглед на файлове

Wired up Windows resize hit testing.

Ryan C. Gordon преди 11 години
родител
ревизия
c8cf407ea3
променени са 1 файла, в които са добавени 11 реда и са изтрити 3 реда
  1. 11 3
      src/video/windows/SDL_windowsevents.c

+ 11 - 3
src/video/windows/SDL_windowsevents.c

@@ -897,11 +897,19 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
                 if (ScreenToClient(data->hwnd, &winpoint)) {
                     const SDL_Point point = { (int) winpoint.x, (int) winpoint.y };
                     const SDL_HitTestResult rc = window->hit_test(window, &point, window->hit_test_data);
-                    if (rc == SDL_HITTEST_DRAGGABLE) {
-                        return HTCAPTION;
+                    switch (rc) {
+                        case SDL_HITTEST_DRAGGABLE: return HTCAPTION;
+                        case SDL_HITTEST_RESIZE_TOPLEFT: return HTTOPLEFT;
+                        case SDL_HITTEST_RESIZE_TOP: return HTTOP;
+                        case SDL_HITTEST_RESIZE_TOPRIGHT: return HTTOPRIGHT;
+                        case SDL_HITTEST_RESIZE_RIGHT: return HTRIGHT;
+                        case SDL_HITTEST_RESIZE_BOTTOMRIGHT: return HTBOTTOMRIGHT;
+                        case SDL_HITTEST_RESIZE_BOTTOM: return HTBOTTOM;
+                        case SDL_HITTEST_RESIZE_BOTTOMLEFT: return HTBOTTOMLEFT;
+                        case SDL_HITTEST_RESIZE_LEFT: return HTLEFT;
                     }
                 }
-                // if we didn't return, this will call DefWindowProc below.
+                /* If we didn't return, this will call DefWindowProc below. */
             }
         }
         break;