| // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef UI_BASE_HIT_TEST_H_ |
| #define UI_BASE_HIT_TEST_H_ |
| |
| #include "build/build_config.h" |
| |
| #if BUILDFLAG(IS_WIN) |
| |
| // Define the HT* values so that this header can be included whether or not |
| // windows.h has been included. The definitions must exactly match to avoid |
| // redefinition errors when compiling source files which also include windows.h. |
| // Those source files conveniently provide a check that these values match. |
| // windows.h is not included here because of the namespace pollution it causes. |
| #define HTERROR (-2) |
| #define HTTRANSPARENT (-1) |
| #define HTNOWHERE 0 |
| #define HTCLIENT 1 |
| #define HTCAPTION 2 |
| #define HTSYSMENU 3 |
| #define HTGROWBOX 4 |
| #define HTSIZE HTGROWBOX |
| #define HTMENU 5 |
| #define HTHSCROLL 6 |
| #define HTVSCROLL 7 |
| #define HTMINBUTTON 8 |
| #define HTMAXBUTTON 9 |
| #define HTLEFT 10 |
| #define HTRIGHT 11 |
| #define HTTOP 12 |
| #define HTTOPLEFT 13 |
| #define HTTOPRIGHT 14 |
| #define HTBOTTOM 15 |
| #define HTBOTTOMLEFT 16 |
| #define HTBOTTOMRIGHT 17 |
| #define HTBORDER 18 |
| #define HTREDUCE HTMINBUTTON |
| #define HTZOOM HTMAXBUTTON |
| #define HTSIZEFIRST HTLEFT |
| #define HTSIZELAST HTBOTTOMRIGHT |
| #define HTOBJECT 19 |
| #define HTCLOSE 20 |
| #define HTHELP 21 |
| |
| #else |
| |
| // Defines the same symbolic names used by the WM_NCHITTEST Notification under |
| // win32 (the integer values are not guaranteed to be equivalent). We do this |
| // because we have a whole bunch of code that deals with window resizing and |
| // such that requires these values. |
| enum HitTestCompat { |
| HTNOWHERE = 0, |
| HTBORDER, |
| HTBOTTOM, |
| HTBOTTOMLEFT, |
| HTBOTTOMRIGHT, |
| HTCAPTION, |
| HTCLIENT, |
| HTCLOSE, |
| HTERROR, |
| HTGROWBOX, |
| HTHELP, |
| HTHSCROLL, |
| HTLEFT, |
| HTMENU, |
| HTMAXBUTTON, |
| HTMINBUTTON, |
| HTREDUCE, |
| HTRIGHT, |
| HTSIZE, |
| HTSYSMENU, |
| HTTOP, |
| HTTOPLEFT, |
| HTTOPRIGHT, |
| HTTRANSPARENT, |
| HTVSCROLL, |
| HTZOOM |
| }; |
| |
| #endif // BUILDFLAG(IS_WIN) |
| |
| namespace ui { |
| |
| // Returns true if the |component| is for resizing, like HTTOP or HTBOTTOM. |
| bool IsResizingComponent(int component); |
| |
| // Returns true if the |component| is HTCAPTION or one of the resizing |
| // components. |
| bool CanPerformDragOrResize(int component); |
| |
| } // namespace ui |
| |
| #endif // UI_BASE_HIT_TEST_H_ |