shun_iwasawa 7c988d
#pragma once
shun_iwasawa 7c988d
shun_iwasawa 7c988d
#ifndef GLWIDGET_FOR_HIGHDPI_H
shun_iwasawa 7c988d
#define GLWIDGET_FOR_HIGHDPI_H
shun_iwasawa 7c988d
shun_iwasawa 7c988d
#include <qglwidget></qglwidget>
shun_iwasawa 7c988d
#include <qapplication></qapplication>
shun_iwasawa 7c988d
#include <qdesktopwidget></qdesktopwidget>
shun_iwasawa 3cc41f
#include "toonzqt/gutil.h"
shun_iwasawa 7c988d
shun_iwasawa 7c988d
// use obsolete QGLWidget instead of QOpenGLWidget for now...
shun_iwasawa 7c988d
// TODO: replace with the "modern" OpenGL source and transfer to QOpenGLWidget
shun_iwasawa 7c988d
class GLWidgetForHighDpi : public QGLWidget {
shun_iwasawa 7c988d
public:
shun_iwasawa 7c988d
  GLWidgetForHighDpi(QWidget *parent              = Q_NULLPTR,
shun_iwasawa 7c988d
                     const QGLWidget *shareWidget = Q_NULLPTR,
shun_iwasawa 7c988d
                     Qt::WindowFlags f            = Qt::WindowFlags())
shun_iwasawa 7c988d
      : QGLWidget(parent, shareWidget, f) {}
shun_iwasawa 7c988d
shun_iwasawa 7c988d
  //  modify sizes for high DPI monitors
shun_iwasawa 7c988d
  int width() const { return QGLWidget::width() * getDevPixRatio(); }
shun_iwasawa 7c988d
  int height() const { return QGLWidget::height() * getDevPixRatio(); }
shun_iwasawa 7c988d
  QRect rect() const { return QRect(0, 0, width(), height()); }
shun_iwasawa 7c988d
};
shun_iwasawa 7c988d
shun_iwasawa 7c988d
#endif