5 #ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_WINDOWS_PROC_TABLE_H_
6 #define FLUTTER_SHELL_PLATFORM_WINDOWS_WINDOWS_PROC_TABLE_H_
11 #include "flutter/fml/macros.h"
12 #include "flutter/fml/native_library.h"
36 POINTER_INPUT_TYPE* pointer_type)
const;
43 POINTER_INFO* pointer_info)
const;
49 POINTER_PEN_INFO* pointer_pen_info)
const;
86 virtual HCURSOR
LoadCursor(HINSTANCE instance, LPCWSTR cursor_name)
const;
92 virtual HCURSOR
SetCursor(HCURSOR cursor)
const;
115 const MARGINS* pMarInset)
const;
125 DWORD cbAttribute)
const;
150 PDISPLAY_DEVICE lpDisplayDevice,
151 DWORD dwFlags)
const;
159 DEVMODEW* lpDevMode)
const;
165 virtual BOOL
GetMonitorInfo(HMONITOR hMonitor, LPMONITORINFO lpmi)
const;
173 MONITORENUMPROC lpfnEnum,
174 LPARAM dwData)
const;
177 using GetPointerType_ = BOOL __stdcall(UINT32 pointerId,
178 POINTER_INPUT_TYPE* pointerType);
179 using GetPointerInfo_ = BOOL __stdcall(UINT32 pointerId,
180 POINTER_INFO* pointerInfo);
181 using GetPointerPenInfo_ = BOOL __stdcall(UINT32 pointerId,
182 POINTER_PEN_INFO* penInfo);
183 using EnableNonClientDpiScaling_ = BOOL __stdcall(HWND hwnd);
184 using SetWindowCompositionAttribute_ =
186 using AdjustWindowRectExForDpi_ = BOOL __stdcall(LPRECT lpRect,
193 fml::RefPtr<fml::NativeLibrary> user32_;
195 std::optional<GetPointerType_*> get_pointer_type_;
196 std::optional<GetPointerInfo_*> get_pointer_info_;
197 std::optional<GetPointerPenInfo_*> get_pointer_pen_info_;
198 std::optional<EnableNonClientDpiScaling_*> enable_non_client_dpi_scaling_;
199 std::optional<SetWindowCompositionAttribute_*>
200 set_window_composition_attribute_;
201 std::optional<AdjustWindowRectExForDpi_*> adjust_window_rect_ext_for_dpi_;
virtual HRESULT DwmFlush() const
virtual BOOL GetPointerInfo(UINT32 pointer_id, POINTER_INFO *pointer_info) const
virtual BOOL GetPointerPenInfo(UINT32 pointer_id, POINTER_PEN_INFO *pointer_pen_info) const
virtual BOOL GetPointerType(UINT32 pointer_id, POINTER_INPUT_TYPE *pointer_type) const
virtual HCURSOR LoadCursor(HINSTANCE instance, LPCWSTR cursor_name) const
virtual int GetSystemMetrics(int nIndex) const
virtual HCURSOR SetCursor(HCURSOR cursor) const
virtual bool GetHighContrastEnabled() const
virtual ~WindowsProcTable()
virtual BOOL EnumDisplayDevices(LPCWSTR lpDevice, DWORD iDevNum, PDISPLAY_DEVICE lpDisplayDevice, DWORD dwFlags) const
virtual BOOL AdjustWindowRectExForDpi(LPRECT lpRect, DWORD dwStyle, BOOL bMenu, DWORD dwExStyle, UINT dpi) const
virtual BOOL EnableNonClientDpiScaling(HWND hwnd) const
virtual HRESULT DwmExtendFrameIntoClientArea(HWND hwnd, const MARGINS *pMarInset) const
virtual bool DwmIsCompositionEnabled() const
virtual BOOL EnumDisplaySettings(LPCWSTR lpszDeviceName, DWORD iModeNum, DEVMODEW *lpDevMode) const
virtual HRESULT DwmSetWindowAttribute(HWND hwnd, DWORD dwAttribute, LPCVOID pvAttribute, DWORD cbAttribute) const
virtual BOOL GetMonitorInfo(HMONITOR hMonitor, LPMONITORINFO lpmi) const
virtual BOOL EnumDisplayMonitors(HDC hdc, LPCRECT lprcClip, MONITORENUMPROC lpfnEnum, LPARAM dwData) const
virtual LRESULT GetThreadPreferredUILanguages(DWORD flags, PULONG count, PZZWSTR languages, PULONG length) const
virtual BOOL SetWindowCompositionAttribute(HWND hwnd, WINDOWCOMPOSITIONATTRIBDATA *data) const
WINDOWCOMPOSITIONATTRIB Attrib