void Screen::flushImage(ImageFrame *frame, const Common::Point &pt, Common::Rect &newBounds, int scaleVal) { Common::Point newPos, newSize; if (scaleVal == 256) flushImage(frame, pt, &newPos.x, &newPos.y, &newSize.x, &newSize.y); else flushScaleImage(frame, pt, &newPos.x, &newPos.y, &newSize.x, &newSize.y, scaleVal); // Transfer the pos and size amounts into a single bounds rect newBounds = Common::Rect(newPos.x, newPos.y, newPos.x + newSize.x, newPos.y + newSize.y); }
void Screen::flushImage(ImageFrame *frame, const Common::Point &pt, Common::Rect &newBounds, int scaleVal) { Common::Point newPos(newBounds.left, newBounds.top); Common::Point newSize(newBounds.width(), newBounds.height()); if (scaleVal == SCALE_THRESHOLD) flushImage(frame, pt, &newPos.x, &newPos.y, &newSize.x, &newSize.y); else flushScaleImage(frame, pt, &newPos.x, &newPos.y, &newSize.x, &newSize.y, scaleVal); // Transfer the pos and size amounts into a single bounds rect newBounds = Common::Rect(newPos.x, newPos.y, newPos.x + newSize.x, newPos.y + newSize.y); }
Renderer::Renderer(VideoWidget *video) : m_background(0, 0) { m_video = video; m_rawFrame.m_pixels = new uint8_t[0x10000]; m_backgroundFrame = true; m_mode = 3; connect(this, SIGNAL(image(QImage)), m_video, SLOT(handleImage(QImage))); // Qt::BlockingQueuedConnection); connect(this, SIGNAL(flushImage()), m_video, SLOT(handleFlush())); //, Qt::BlockingQueuedConnection); }
Renderer::Renderer(VideoWidget *video) { m_video = video; m_frameData = new uint8_t[0x20000]; m_backgroundFrame = true; m_hmin = 0x00; m_hmax = 0xff; m_smin = 0x00; m_smax = 0xff; m_vmin = 0x00; m_vmax = 0xff; m_cmin = 0x00; m_cmax = 0xff; m_lut = NULL; m_mode = 3; connect(this, SIGNAL(image(QImage)), m_video, SLOT(handleImage(QImage))); // Qt::BlockingQueuedConnection); connect(this, SIGNAL(flushImage()), m_video, SLOT(handleFlush())); //, Qt::BlockingQueuedConnection); }
void ScreenMx508::flushColorScreen(Qt::GlobalColor color) { QImage imageColor(screenWidth(),screenHeight(), QImage::Format_RGB32); imageColor.fill(color); flushImage(imageColor,QPoint(0,0)); }