PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
custom_chrome_win32_internal.h
1#pragma once
2
3#include "window_internal.h"
4
5namespace pixelbullet::window_internal::win32_custom_chrome_internal
6{
7enum class CustomChromeHitRegion
8{
9 Client,
10 Caption,
11 Left,
12 Right,
13 Top,
14 Bottom,
15 TopLeft,
16 TopRight,
17 BottomLeft,
18 BottomRight
19};
20
22{
23 int left = 0;
24 int top = 0;
25 int right = 0;
26 int bottom = 0;
27};
28
30{
31 int x = 0;
32 int y = 0;
33};
34
36{
37 int x = 0;
38 int y = 0;
39 int width = 0;
40 int height = 0;
41};
42
43[[nodiscard]] CustomChromeHitRegion ResolveHitRegion(const ScreenRect& window_bounds, ScreenPoint screen_point,
44 ScreenPoint client_point, bool maximized,
45 const WindowChromeLayout& layout) noexcept;
46[[nodiscard]] MaximizedPlacement ResolveMaximizedPlacement(const ScreenRect& monitor_bounds,
47 const ScreenRect& work_area) noexcept;
48[[nodiscard]] ScreenPoint ResolveSystemMenuScreenPoint(const ScreenRect& window_bounds, WindowPoint client_point) noexcept;
49[[nodiscard]] bool ShouldOpenSystemMenuForSysKeyDown(int virtual_key, bool alt_down) noexcept;
50[[nodiscard]] WindowChromeApi& GetWin32WindowChromeApi();
51} // namespace pixelbullet::window_internal::win32_custom_chrome_internal
Definition window_internal.h:70
Definition window_chrome.h:34
Definition window_chrome.h:28