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

@@ -1,26 +1,19 @@
#include "qt_softwarerenderer.hpp"
extern "C" {
#include <86box/86box.h>
}
#include <QPainter>
SoftwareRenderer::SoftwareRenderer(QWidget *parent) : QWidget(parent) {}
void SoftwareRenderer::paintEvent(QPaintEvent *event) {
(void) event;
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));
image = QImage();
onPaint(this);
}
void SoftwareRenderer::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 SoftwareRenderer::resizeEvent(QResizeEvent *event) {
onResize(width(), height());
QWidget::resizeEvent(event);
}