summaryrefslogtreecommitdiffhomepage
path: root/compat/qt-dpi.hpp
blob: 01659c8a07517e3f304f302fcd2b95c4f482b906 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once

#include <algorithm>
#include <QWidget>

template<typename self>
struct screen_dpi_mixin
{
protected:
    double screen_dpi() const
    {
        const auto& x = *static_cast<const self*>(this);
#ifdef _WIN32
        return std::max(x.devicePixelRatioF(), 1.);
#else
        return std::max(std::max(x.logicalDpiX()/(double)x.physicalDpiX(), x.devicePixelRatioF()), 1.);
#endif
    }
};