implemented fullscreen stretch modes

This commit is contained in:
Joakim L. Gilje
2021-12-07 13:47:42 +01:00
parent 2d9020070f
commit 61a2cf986b
10 changed files with 201 additions and 43 deletions

View File

@@ -14,14 +14,8 @@ void HardwareRenderer::initializeGL()
initializeOpenGLFunctions();
}
void HardwareRenderer::paintGL()
{
QPainter painter(this);
painter.setRenderHint(QPainter::SmoothPixmapTransform, video_filter_method > 0 ? true : false);
painter.drawImage(QRect(0, 0, width(), height()), image, QRect(sx, sy, sw, sh));
// "release" image, reducing it's refcount, so renderstack::blit()
// won't have to reallocate
image = QImage();
void HardwareRenderer::paintGL() {
onPaint(this);
}
void HardwareRenderer::setRenderType(RenderType type) {
@@ -41,9 +35,11 @@ void HardwareRenderer::setRenderType(RenderType type) {
void HardwareRenderer::onBlit(const QImage& img, int x, int y, int w, int h) {
image = img;
sx = x;
sy = y;
sw = w;
sh = h;
source.setRect(x, y, w, h);
update();
}
void HardwareRenderer::resizeEvent(QResizeEvent *event) {
onResize(width(), height());
QOpenGLWidget::resizeEvent(event);
}