Flutter Engine
 
Loading...
Searching...
No Matches
flutter::WindowsProcTable Class Reference

#include <windows_proc_table.h>

Inheritance diagram for flutter::WindowsProcTable:
flutter::testing::MockWindowsProcTable

Classes

struct  WINDOWCOMPOSITIONATTRIBDATA
 

Public Types

enum  WINDOWCOMPOSITIONATTRIB { WCA_ACCENT_POLICY = 19 }
 

Public Member Functions

 WindowsProcTable ()
 
virtual ~WindowsProcTable ()
 
virtual BOOL GetPointerType (UINT32 pointer_id, POINTER_INPUT_TYPE *pointer_type) const
 
virtual LRESULT GetThreadPreferredUILanguages (DWORD flags, PULONG count, PZZWSTR languages, PULONG length) const
 
virtual bool GetHighContrastEnabled () const
 
virtual bool DwmIsCompositionEnabled () const
 
virtual HRESULT DwmFlush () const
 
virtual HCURSOR LoadCursor (HINSTANCE instance, LPCWSTR cursor_name) const
 
virtual HCURSOR SetCursor (HCURSOR cursor) const
 
virtual BOOL EnableNonClientDpiScaling (HWND hwnd) const
 
virtual BOOL SetWindowCompositionAttribute (HWND hwnd, WINDOWCOMPOSITIONATTRIBDATA *data) const
 
virtual HRESULT DwmExtendFrameIntoClientArea (HWND hwnd, const MARGINS *pMarInset) const
 
virtual HRESULT DwmSetWindowAttribute (HWND hwnd, DWORD dwAttribute, LPCVOID pvAttribute, DWORD cbAttribute) const
 
virtual BOOL AdjustWindowRectExForDpi (LPRECT lpRect, DWORD dwStyle, BOOL bMenu, DWORD dwExStyle, UINT dpi) const
 
virtual int GetSystemMetrics (int nIndex) const
 
virtual BOOL EnumDisplayDevices (LPCWSTR lpDevice, DWORD iDevNum, PDISPLAY_DEVICE lpDisplayDevice, DWORD dwFlags) const
 
virtual BOOL EnumDisplaySettings (LPCWSTR lpszDeviceName, DWORD iModeNum, DEVMODEW *lpDevMode) const
 
virtual BOOL GetMonitorInfo (HMONITOR hMonitor, LPMONITORINFO lpmi) const
 
virtual BOOL EnumDisplayMonitors (HDC hdc, LPCRECT lprcClip, MONITORENUMPROC lpfnEnum, LPARAM dwData) const
 

Detailed Description

Definition at line 18 of file windows_proc_table.h.

Member Enumeration Documentation

◆ WINDOWCOMPOSITIONATTRIB

Enumerator
WCA_ACCENT_POLICY 

Definition at line 20 of file windows_proc_table.h.

Constructor & Destructor Documentation

◆ WindowsProcTable()

flutter::WindowsProcTable::WindowsProcTable ( )

Definition at line 12 of file windows_proc_table.cc.

12 {
13 user32_ = fml::NativeLibrary::Create("user32.dll");
14 get_pointer_type_ =
15 user32_->ResolveFunction<GetPointerType_*>("GetPointerType");
16 enable_non_client_dpi_scaling_ =
17 user32_->ResolveFunction<EnableNonClientDpiScaling_*>(
18 "EnableNonClientDpiScaling");
19 set_window_composition_attribute_ =
20 user32_->ResolveFunction<SetWindowCompositionAttribute_*>(
21 "SetWindowCompositionAttribute");
22 adjust_window_rect_ext_for_dpi_ =
23 user32_->ResolveFunction<AdjustWindowRectExForDpi_*>(
24 "AdjustWindowRectExForDpi");
25}
const std::optional< T > ResolveFunction(const char *symbol)
static fml::RefPtr< NativeLibrary > Create(const char *path)

References fml::NativeLibrary::Create(), and fml::NativeLibrary::ResolveFunction().

◆ ~WindowsProcTable()

flutter::WindowsProcTable::~WindowsProcTable ( )
virtual

Definition at line 27 of file windows_proc_table.cc.

27 {
28 user32_ = nullptr;
29}

Member Function Documentation

◆ AdjustWindowRectExForDpi()

BOOL flutter::WindowsProcTable::AdjustWindowRectExForDpi ( LPRECT  lpRect,
DWORD  dwStyle,
BOOL  bMenu,
DWORD  dwExStyle,
UINT  dpi 
) const
virtual

Definition at line 110 of file windows_proc_table.cc.

114 {
115 if (!adjust_window_rect_ext_for_dpi_.has_value()) {
116 return FALSE;
117 }
118
119 return adjust_window_rect_ext_for_dpi_.value()(lpRect, dwStyle, bMenu,
120 dwExStyle, dpi);
121}

Referenced by flutter::HostWindow::GetWindowSizeForClientSize().

◆ DwmExtendFrameIntoClientArea()

HRESULT flutter::WindowsProcTable::DwmExtendFrameIntoClientArea ( HWND  hwnd,
const MARGINS *  pMarInset 
) const
virtual

Definition at line 97 of file windows_proc_table.cc.

99 {
100 return ::DwmExtendFrameIntoClientArea(hwnd, pMarInset);
101}

◆ DwmFlush()

HRESULT flutter::WindowsProcTable::DwmFlush ( ) const
virtual

Definition at line 66 of file windows_proc_table.cc.

66 {
67 return ::DwmFlush();
68}

◆ DwmIsCompositionEnabled()

bool flutter::WindowsProcTable::DwmIsCompositionEnabled ( ) const
virtual

Definition at line 57 of file windows_proc_table.cc.

57 {
58 BOOL composition_enabled;
59 if (SUCCEEDED(::DwmIsCompositionEnabled(&composition_enabled))) {
60 return composition_enabled;
61 }
62
63 return true;
64}
virtual bool DwmIsCompositionEnabled() const
int BOOL
#define SUCCEEDED(hr)

References DwmIsCompositionEnabled(), and SUCCEEDED.

Referenced by DwmIsCompositionEnabled().

◆ DwmSetWindowAttribute()

HRESULT flutter::WindowsProcTable::DwmSetWindowAttribute ( HWND  hwnd,
DWORD  dwAttribute,
LPCVOID  pvAttribute,
DWORD  cbAttribute 
) const
virtual

Definition at line 103 of file windows_proc_table.cc.

106 {
107 return ::DwmSetWindowAttribute(hwnd, dwAttribute, pvAttribute, cbAttribute);
108}

◆ EnableNonClientDpiScaling()

BOOL flutter::WindowsProcTable::EnableNonClientDpiScaling ( HWND  hwnd) const
virtual

Definition at line 79 of file windows_proc_table.cc.

79 {
80 if (!enable_non_client_dpi_scaling_.has_value()) {
81 return FALSE;
82 }
83
84 return enable_non_client_dpi_scaling_.value()(hwnd);
85}

Referenced by flutter::HostWindow::WndProc().

◆ EnumDisplayDevices()

BOOL flutter::WindowsProcTable::EnumDisplayDevices ( LPCWSTR  lpDevice,
DWORD  iDevNum,
PDISPLAY_DEVICE  lpDisplayDevice,
DWORD  dwFlags 
) const
virtual

Definition at line 127 of file windows_proc_table.cc.

130 {
131 return ::EnumDisplayDevices(lpDevice, iDevNum, lpDisplayDevice, dwFlags);
132}

◆ EnumDisplayMonitors()

BOOL flutter::WindowsProcTable::EnumDisplayMonitors ( HDC  hdc,
LPCRECT  lprcClip,
MONITORENUMPROC  lpfnEnum,
LPARAM  dwData 
) const
virtual

Definition at line 145 of file windows_proc_table.cc.

148 {
149 return ::EnumDisplayMonitors(hdc, lprcClip, lpfnEnum, dwData);
150}

◆ EnumDisplaySettings()

BOOL flutter::WindowsProcTable::EnumDisplaySettings ( LPCWSTR  lpszDeviceName,
DWORD  iModeNum,
DEVMODEW *  lpDevMode 
) const
virtual

Definition at line 134 of file windows_proc_table.cc.

136 {
137 return ::EnumDisplaySettingsW(lpszDeviceName, iModeNum, lpDevMode);
138}

◆ GetHighContrastEnabled()

bool flutter::WindowsProcTable::GetHighContrastEnabled ( ) const
virtual

Definition at line 47 of file windows_proc_table.cc.

47 {
48 HIGHCONTRAST high_contrast = {.cbSize = sizeof(HIGHCONTRAST)};
49 if (!::SystemParametersInfoW(SPI_GETHIGHCONTRAST, sizeof(HIGHCONTRAST),
50 &high_contrast, 0)) {
51 return false;
52 }
53
54 return high_contrast.dwFlags & HCF_HIGHCONTRASTON;
55}

◆ GetMonitorInfo()

BOOL flutter::WindowsProcTable::GetMonitorInfo ( HMONITOR  hMonitor,
LPMONITORINFO  lpmi 
) const
virtual

Definition at line 140 of file windows_proc_table.cc.

141 {
142 return ::GetMonitorInfoW(hMonitor, lpmi);
143}

◆ GetPointerType()

BOOL flutter::WindowsProcTable::GetPointerType ( UINT32  pointer_id,
POINTER_INPUT_TYPE *  pointer_type 
) const
virtual

Definition at line 31 of file windows_proc_table.cc.

32 {
33 if (!get_pointer_type_.has_value()) {
34 return FALSE;
35 }
36
37 return get_pointer_type_.value()(pointer_id, pointer_type);
38}

◆ GetSystemMetrics()

int flutter::WindowsProcTable::GetSystemMetrics ( int  nIndex) const
virtual

Definition at line 123 of file windows_proc_table.cc.

123 {
124 return ::GetSystemMetrics(nIndex);
125}

◆ GetThreadPreferredUILanguages()

LRESULT flutter::WindowsProcTable::GetThreadPreferredUILanguages ( DWORD  flags,
PULONG  count,
PZZWSTR  languages,
PULONG  length 
) const
virtual

Definition at line 40 of file windows_proc_table.cc.

43 {
44 return ::GetThreadPreferredUILanguages(flags, count, languages, length);
45}
size_t length

References length.

Referenced by flutter::GetPreferredLanguagesFromMUI().

◆ LoadCursor()

HCURSOR flutter::WindowsProcTable::LoadCursor ( HINSTANCE  instance,
LPCWSTR  cursor_name 
) const
virtual

Definition at line 70 of file windows_proc_table.cc.

71 {
72 return ::LoadCursorW(instance, cursor_name);
73}
VkInstance instance
Definition main.cc:64

References instance.

◆ SetCursor()

HCURSOR flutter::WindowsProcTable::SetCursor ( HCURSOR  cursor) const
virtual

Definition at line 75 of file windows_proc_table.cc.

75 {
76 return ::SetCursor(cursor);
77}

◆ SetWindowCompositionAttribute()

BOOL flutter::WindowsProcTable::SetWindowCompositionAttribute ( HWND  hwnd,
WINDOWCOMPOSITIONATTRIBDATA data 
) const
virtual

Definition at line 87 of file windows_proc_table.cc.

89 {
90 if (!set_window_composition_attribute_.has_value()) {
91 return FALSE;
92 }
93
94 return set_window_composition_attribute_.value()(hwnd, data);
95}
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot data
Definition switch_defs.h:36

References flutter::data.


The documentation for this class was generated from the following files: