2017-04-19 22:31:31 +12:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#ifndef GLWIDGET_FOR_HIGHDPI_H
|
|
|
|
#define GLWIDGET_FOR_HIGHDPI_H
|
|
|
|
|
2017-07-01 16:51:18 +12:00
|
|
|
#include <QOpenGLWidget>
|
2017-04-19 22:31:31 +12:00
|
|
|
#include <QApplication>
|
|
|
|
#include <QDesktopWidget>
|
2017-10-11 20:48:14 +13:00
|
|
|
#include <QOpenGLFunctions>
|
2017-08-18 19:24:14 +12:00
|
|
|
#include "toonzqt/gutil.h"
|
2017-04-19 22:31:31 +12:00
|
|
|
|
2017-10-11 20:48:14 +13:00
|
|
|
class GLWidgetForHighDpi : public QOpenGLWidget, protected QOpenGLFunctions {
|
2017-04-19 22:31:31 +12:00
|
|
|
public:
|
2018-10-12 20:05:14 +13:00
|
|
|
GLWidgetForHighDpi(QWidget *parent = nullptr,
|
2017-10-11 20:48:14 +13:00
|
|
|
Qt::WindowFlags f = Qt::WindowFlags())
|
2017-07-01 16:51:18 +12:00
|
|
|
: QOpenGLWidget(parent, f) {}
|
2017-04-19 22:31:31 +12:00
|
|
|
|
|
|
|
// modify sizes for high DPI monitors
|
2017-07-01 16:51:18 +12:00
|
|
|
int width() const { return QOpenGLWidget::width() * getDevPixRatio(); }
|
|
|
|
int height() const { return QOpenGLWidget::height() * getDevPixRatio(); }
|
2017-04-19 22:31:31 +12:00
|
|
|
QRect rect() const { return QRect(0, 0, width(), height()); }
|
2022-02-28 11:18:09 +13:00
|
|
|
int getDevPixRatio() const { return getDevicePixelRatio(this); }
|
2017-04-19 22:31:31 +12:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|