Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qwindowsscreen.cpp File Reference

(48cc43a1e00e564438227dc0c251c988cee22483)

#include "qwindowsscreen.h"
#include "qwindowscontext.h"
#include "qwindowswindow.h"
#include "qwindowsintegration.h"
#include "qwindowscursor.h"
#include "qwindowstheme.h"
#include <QtCore/qt_windows.h>
#include <QtCore/qsettings.h>
#include <QtGui/qpixmap.h>
#include <QtGui/qguiapplication.h>
#include <qpa/qwindowsysteminterface.h>
#include <QtCore/private/qsystemerror_p.h>
#include <QtGui/private/qedidparser_p.h>
#include <private/qhighdpiscaling_p.h>
#include <private/qwindowsfontdatabasebase_p.h>
#include <private/qpixmap_win_p.h>
#include <private/quniquehandle_p.h>
#include <QtGui/qscreen.h>
#include <QtCore/qdebug.h>
#include <memory>
#include <type_traits>
#include <cfgmgr32.h>
#include <setupapi.h>
#include <shellscalingapi.h>
+ Include dependency graph for qwindowsscreen.cpp:

Go to the source code of this file.

Typedefs

using WindowsScreenDataList = QList<QWindowsScreenData>
 

Functions

static QDpi deviceDPI (HDC hdc)
 
static QDpi monitorDPI (HMONITOR hMonitor)
 
static std::vector< DISPLAYCONFIG_PATH_INFO > getPathInfo (const MONITORINFOEX &viewInfo)
 
static void setMonitorDataFromSetupApi (QWindowsScreenData &data, const std::vector< DISPLAYCONFIG_PATH_INFO > &pathGroup)
 
static bool monitorData (HMONITOR hMonitor, QWindowsScreenData *data)
 
BOOL QT_WIN_CALLBACK monitorEnumCallback (HMONITOR hMonitor, HDC, LPRECT, LPARAM p)
 
static WindowsScreenDataList monitorData ()
 
static QDebug operator<< (QDebug dbg, const QWindowsScreenData &d)
 
LRESULT QT_WIN_CALLBACK qDisplayChangeObserverWndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
 
static int indexOfMonitor (const QWindowsScreenManager::WindowsScreenList &screens, const QString &deviceName)
 
static int indexOfMonitor (const WindowsScreenDataList &screenData, const QString &deviceName)
 
static void moveToVirtualScreen (QWindow *w, const QScreen *newScreen)
 

Typedef Documentation

◆ WindowsScreenDataList

Function Documentation

◆ deviceDPI()

static QDpi deviceDPI ( HDC hdc)
inlinestatic

Definition at line 39 of file qwindowsscreen.cpp.

Referenced by monitorData().

+ Here is the caller graph for this function:

◆ getPathInfo()

static std::vector< DISPLAYCONFIG_PATH_INFO > getPathInfo ( const MONITORINFOEX & viewInfo)
static

Definition at line 53 of file qwindowsscreen.cpp.

Referenced by monitorData().

+ Here is the caller graph for this function:

◆ indexOfMonitor() [1/2]

static int indexOfMonitor ( const QWindowsScreenManager::WindowsScreenList & screens,
const QString & deviceName )
inlinestatic

Definition at line 715 of file qwindowsscreen.cpp.

References QList< T >::at(), i, and QList< T >::size().

Referenced by QWindowsScreenManager::handleScreenChanges().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ indexOfMonitor() [2/2]

static int indexOfMonitor ( const WindowsScreenDataList & screenData,
const QString & deviceName )
inlinestatic

Definition at line 724 of file qwindowsscreen.cpp.

References i.

◆ monitorData() [1/2]

static WindowsScreenDataList monitorData ( )
inlinestatic

Definition at line 368 of file qwindowsscreen.cpp.

References monitorEnumCallback().

Referenced by QWindowsScreenManager::handleScreenChanges(), and monitorEnumCallback().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ monitorData() [2/2]

static bool monitorData ( HMONITOR hMonitor,
QWindowsScreenData * data )
static

◆ monitorDPI()

static QDpi monitorDPI ( HMONITOR hMonitor)
inlinestatic

Definition at line 44 of file qwindowsscreen.cpp.

Referenced by monitorData().

+ Here is the caller graph for this function:

◆ monitorEnumCallback()

BOOL QT_WIN_CALLBACK monitorEnumCallback ( HMONITOR hMonitor,
HDC ,
LPRECT ,
LPARAM p )

Definition at line 340 of file qwindowsscreen.cpp.

References i, it, monitorData(), and QWindowsScreenData::PrimaryScreen.

Referenced by monitorData().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ moveToVirtualScreen()

static void moveToVirtualScreen ( QWindow * w,
const QScreen * newScreen )
static

Definition at line 734 of file qwindowsscreen.cpp.

References QPoint::manhattanLength(), QRect::moveTopLeft(), and QRect::topLeft().

+ Here is the call graph for this function:

◆ operator<<()

static QDebug operator<< ( QDebug dbg,
const QWindowsScreenData & d )
static

◆ qDisplayChangeObserverWndProc()

LRESULT QT_WIN_CALLBACK qDisplayChangeObserverWndProc ( HWND hwnd,
UINT message,
WPARAM wParam,
LPARAM lParam )

Definition at line 665 of file qwindowsscreen.cpp.

References context, QWindowsWindow::displayChanged(), QWindowsContext::instance(), QWindowsTheme::instance(), and qCDebug.

Referenced by QWindowsScreenManager::initialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setMonitorDataFromSetupApi()

static void setMonitorDataFromSetupApi ( QWindowsScreenData & data,
const std::vector< DISPLAYCONFIG_PATH_INFO > & pathGroup )
static

Definition at line 137 of file qwindowsscreen.cpp.

References QString::fromWCharArray(), qCDebug, qCWarning, QByteArray::resize(), QString::size(), and storage.

Referenced by monitorData().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: