13 user32_ = fml::NativeLibrary::Create(
"user32.dll");
15 user32_->ResolveFunction<GetPointerType_*>(
"GetPointerType");
23 POINTER_INPUT_TYPE* pointer_type)
const {
24 if (!get_pointer_type_.has_value()) {
28 return get_pointer_type_.value()(pointer_id, pointer_type);
34 PULONG length)
const {
35 return ::GetThreadPreferredUILanguages(flags, count, languages, length);
39 HIGHCONTRAST high_contrast = {.cbSize =
sizeof(HIGHCONTRAST)};
40 if (!::SystemParametersInfoW(SPI_GETHIGHCONTRAST,
sizeof(HIGHCONTRAST),
45 return high_contrast.dwFlags & HCF_HIGHCONTRASTON;
49 BOOL composition_enabled;
51 return composition_enabled;
62 LPCWSTR cursor_name)
const {
63 return ::LoadCursorW(instance, cursor_name);
67 return ::SetCursor(cursor);
virtual HRESULT DwmFlush() const
virtual BOOL GetPointerType(UINT32 pointer_id, POINTER_INPUT_TYPE *pointer_type) const
virtual HCURSOR LoadCursor(HINSTANCE instance, LPCWSTR cursor_name) const
virtual HCURSOR SetCursor(HCURSOR cursor) const
virtual bool GetHighContrastEnabled() const
virtual ~WindowsProcTable()
virtual bool DwmIsCompositionEnabled() const
virtual LRESULT GetThreadPreferredUILanguages(DWORD flags, PULONG count, PZZWSTR languages, PULONG length) const