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

#include <display_manager.h>

Public Member Functions

 DisplayManagerWin32 (FlutterWindowsEngine *engine)
 
 ~DisplayManagerWin32 ()
 
void UpdateDisplays ()
 
bool HandleWindowMessage (HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam, LRESULT *result)
 
std::optional< FlutterEngineDisplayFindById (FlutterEngineDisplayId id)
 
std::vector< FlutterEngineDisplayGetDisplays () const
 

Detailed Description

Definition at line 18 of file display_manager.h.

Constructor & Destructor Documentation

◆ DisplayManagerWin32()

flutter::DisplayManagerWin32::DisplayManagerWin32 ( FlutterWindowsEngine engine)
explicit

Definition at line 24 of file display_manager.cc.

25 : engine_(engine), win32_(engine->windows_proc_table()) {}
FlutterEngine engine
Definition main.cc:84

◆ ~DisplayManagerWin32()

flutter::DisplayManagerWin32::~DisplayManagerWin32 ( )
default

Member Function Documentation

◆ FindById()

std::optional< FlutterEngineDisplay > flutter::DisplayManagerWin32::FindById ( FlutterEngineDisplayId  id)

Definition at line 96 of file display_manager.cc.

97 {
98 for (auto const& display : GetDisplays()) {
99 if (display.display_id == id) {
100 return display;
101 }
102 }
103
104 return std::nullopt;
105}
std::vector< FlutterEngineDisplay > GetDisplays() const

References GetDisplays().

◆ GetDisplays()

std::vector< FlutterEngineDisplay > flutter::DisplayManagerWin32::GetDisplays ( ) const

Definition at line 107 of file display_manager.cc.

107 {
108 std::vector<FlutterEngineDisplay> displays;
109 MonitorEnumState state = {this, &displays};
110 win32_->EnumDisplayMonitors(nullptr, nullptr, EnumMonitorCallback,
111 reinterpret_cast<LPARAM>(&state));
112
113 if (displays.size() == 1) {
114 displays[0].single_display = true;
115 }
116
117 return displays;
118}
std::vector< FlutterEngineDisplay > * displays
LONG_PTR LPARAM

References displays.

Referenced by FindById(), and UpdateDisplays().

◆ HandleWindowMessage()

bool flutter::DisplayManagerWin32::HandleWindowMessage ( HWND  hwnd,
UINT  message,
WPARAM  wparam,
LPARAM  lparam,
LRESULT result 
)

Definition at line 82 of file display_manager.cc.

86 {
87 switch (message) {
88 case WM_DISPLAYCHANGE:
89 case WM_DPICHANGED:
91 break;
92 }
93 return false;
94}
G_BEGIN_DECLS GBytes * message

References message, and UpdateDisplays().

◆ UpdateDisplays()

void flutter::DisplayManagerWin32::UpdateDisplays ( )

Definition at line 77 of file display_manager.cc.

77 {
78 auto displays = GetDisplays();
79 engine_->UpdateDisplay(displays);
80}
void UpdateDisplay(const std::vector< FlutterEngineDisplay > &displays)

References displays, GetDisplays(), and flutter::FlutterWindowsEngine::UpdateDisplay().

Referenced by HandleWindowMessage().


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