void WidgetRenderer::handlePaint(QPaintEvent *event) { Q_UNUSED(event); QPainter painter(m_videoWidget); m_drawFrameRect = m_videoWidget->calculateDrawFrameRect(); painter.drawImage(drawFrameRect(), currentFrame()); frameRendered(); }
void GLRenderWidgetImplementation::paintEvent(QPaintEvent *) { QPainter painter(this); m_drawFrameRect = m_videoWidget->calculateDrawFrameRect(); if (m_yuvSupport && frameIsSet()) { glEnable(GL_FRAGMENT_PROGRAM_ARB); glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, m_program); const float tx_array[] = { 0, 0, 1, 0, 1, 1, 0, 1}; const QRectF r = drawFrameRect(); const float v_array[] = { float(r.left()), float(r.top()), float(r.right()), float(r.top()), float(r.right()), float(r.bottom()), float(r.left()), float(r.bottom()) }; glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, m_texture[0]); glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, m_texture[1]); glActiveTexture(GL_TEXTURE2); glBindTexture(GL_TEXTURE_2D, m_texture[2]); glActiveTexture(GL_TEXTURE0); glVertexPointer(2, GL_FLOAT, 0, v_array); glTexCoordPointer(2, GL_FLOAT, 0, tx_array); glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_TEXTURE_COORD_ARRAY); glDrawArrays(GL_QUADS, 0, 4); glDisableClientState(GL_TEXTURE_COORD_ARRAY); glDisableClientState(GL_VERTEX_ARRAY); glDisable(GL_FRAGMENT_PROGRAM_ARB); } else { painter.setRenderHint(QPainter::SmoothPixmapTransform); painter.drawImage(drawFrameRect(), currentFrame()); } frameRendered(); }
void GsWeakSurface::drawRect(const GsRect<Uint16> &rect, const int thickness, const Uint32 contourColor, const Uint32 fillColor ) { // Create the proper rect for all this GsRect<Uint16> fillRect = rect; drawFrameRect(rect, thickness, contourColor); fillRect.x += thickness; fillRect.y += thickness; fillRect.w -= (2*thickness); fillRect.h -= (2*thickness); fill(fillRect, fillColor); }