summaryrefslogtreecommitdiff
path: root/src/envmetrics.cpp
diff options
context:
space:
mode:
authorMikaƫl Capelle <capelle.mikael@gmail.com>2023-07-09 17:36:03 +0200
committerGitHub <noreply@github.com>2023-07-09 17:36:03 +0200
commitef94aee28464039672b277243a0181ae93550d6c (patch)
tree0575a68af5f154e9d6d0738edbaefb16a11d6f5c /src/envmetrics.cpp
parent7d6cb8528d20e36a4cee822263865ee2f7f32481 (diff)
parent3de050e9c03e553f7ae3f780f6bd080a30ae123e (diff)
Merge pull request #1839 from Holt59/ci/initial-gh-action-for-build
Clang-Format + Github Workflow
Diffstat (limited to 'src/envmetrics.cpp')
-rw-r--r--src/envmetrics.cpp63
1 files changed, 27 insertions, 36 deletions
diff --git a/src/envmetrics.cpp b/src/envmetrics.cpp
index b47ca2f5..645645e4 100644
--- a/src/envmetrics.cpp
+++ b/src/envmetrics.cpp
@@ -1,10 +1,10 @@
#include "envmetrics.h"
#include "env.h"
+#include <QScreen>
#include <Windows.h>
-#include <shellscalingapi.h>
#include <log.h>
+#include <shellscalingapi.h>
#include <utility.h>
-#include <QScreen>
namespace env
{
@@ -46,14 +46,13 @@ HMONITOR findMonitor(const QString& name)
auto& data = *reinterpret_cast<Data*>(lp);
MONITORINFOEX mi = {};
- mi.cbSize = sizeof(mi);
+ mi.cbSize = sizeof(mi);
// monitor info will include the name
if (!GetMonitorInfoW(hm, &mi)) {
const auto e = GetLastError();
- log::error(
- "GetMonitorInfo() failed for '{}', {}",
- data.name, formatSystemMessage(e));
+ log::error("GetMonitorInfo() failed for '{}', {}", data.name,
+ formatSystemMessage(e));
// error for this monitor, but continue
return TRUE;
@@ -69,7 +68,6 @@ HMONITOR findMonitor(const QString& name)
return TRUE;
};
-
// for each monitor
EnumDisplayMonitors(0, nullptr, callback, reinterpret_cast<LPARAM>(&data));
@@ -82,11 +80,11 @@ HMONITOR findMonitor(const QString& name)
int getDpi(const QString& monitorDevice)
{
using GetDpiForMonitorFunction =
- HRESULT WINAPI (HMONITOR, MONITOR_DPI_TYPE, UINT*, UINT*);
+ HRESULT WINAPI(HMONITOR, MONITOR_DPI_TYPE, UINT*, UINT*);
static LibraryPtr shcore;
static GetDpiForMonitorFunction* GetDpiForMonitor = nullptr;
- static bool checked = false;
+ static bool checked = false;
if (!checked) {
// try to find GetDpiForMonitor() from shcored.dll
@@ -96,7 +94,7 @@ int getDpi(const QString& monitorDevice)
if (shcore) {
// windows 8.1+ only
GetDpiForMonitor = reinterpret_cast<GetDpiForMonitorFunction*>(
- GetProcAddress(shcore.get(), "GetDpiForMonitor"));
+ GetProcAddress(shcore.get(), "GetDpiForMonitor"));
}
checked = true;
@@ -107,7 +105,6 @@ int getDpi(const QString& monitorDevice)
return getDesktopDpi();
}
-
// there's no way to get an HMONITOR from a device name, so all monitors
// will have to be enumerated and their name checked
HMONITOR hm = findMonitor(monitorDevice);
@@ -116,13 +113,12 @@ int getDpi(const QString& monitorDevice)
return 0;
}
- UINT dpiX=0, dpiY=0;
+ UINT dpiX = 0, dpiY = 0;
const auto r = GetDpiForMonitor(hm, MDT_EFFECTIVE_DPI, &dpiX, &dpiY);
if (FAILED(r)) {
- log::error(
- "GetDpiForMonitor() failed for '{}', {}",
- monitorDevice, formatSystemMessage(r));
+ log::error("GetDpiForMonitor() failed for '{}', {}", monitorDevice,
+ formatSystemMessage(r));
return 0;
}
@@ -131,12 +127,9 @@ int getDpi(const QString& monitorDevice)
return dpiX;
}
-
-Display::Display(QString adapter, QString monitorDevice, bool primary) :
- m_adapter(std::move(adapter)),
- m_monitorDevice(std::move(monitorDevice)),
- m_primary(primary),
- m_resX(0), m_resY(0), m_dpi(0), m_refreshRate(0)
+Display::Display(QString adapter, QString monitorDevice, bool primary)
+ : m_adapter(std::move(adapter)), m_monitorDevice(std::move(monitorDevice)),
+ m_primary(primary), m_resX(0), m_resY(0), m_dpi(0), m_refreshRate(0)
{
getSettings();
m_dpi = getDpi(m_monitorDevice);
@@ -180,18 +173,18 @@ int Display::refreshRate() const
QString Display::toString() const
{
return QString("%1*%2 %3hz dpi=%4 on %5%6")
- .arg(m_resX)
- .arg(m_resY)
- .arg(m_refreshRate)
- .arg(m_dpi)
- .arg(m_adapter)
- .arg(m_primary ? " (primary)" : "");
+ .arg(m_resX)
+ .arg(m_resY)
+ .arg(m_refreshRate)
+ .arg(m_dpi)
+ .arg(m_adapter)
+ .arg(m_primary ? " (primary)" : "");
}
void Display::getSettings()
{
DEVMODEW dm = {};
- dm.dmSize = sizeof(dm);
+ dm.dmSize = sizeof(dm);
const auto wsDevice = m_monitorDevice.toStdWString();
@@ -215,7 +208,6 @@ void Display::getSettings()
}
}
-
Metrics::Metrics()
{
getDisplays();
@@ -240,9 +232,9 @@ QRect Metrics::desktopGeometry() const
void Metrics::getDisplays()
{
// don't bother if it goes over 100
- for (int i=0; i<100; ++i) {
+ for (int i = 0; i < 100; ++i) {
DISPLAY_DEVICEW device = {};
- device.cb = sizeof(device);
+ device.cb = sizeof(device);
if (!EnumDisplayDevicesW(nullptr, i, &device, 0)) {
// no more
@@ -256,11 +248,10 @@ void Metrics::getDisplays()
continue;
}
- m_displays.emplace_back(
- QString::fromWCharArray(device.DeviceString),
- QString::fromWCharArray(device.DeviceName),
- (device.StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE));
+ m_displays.emplace_back(QString::fromWCharArray(device.DeviceString),
+ QString::fromWCharArray(device.DeviceName),
+ (device.StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE));
}
}
-} // namespace
+} // namespace env