Port SceneXRender::EffectFrame to XCB render

This commit is contained in:
Martin Gräßlin 2013-02-27 13:04:06 +01:00
parent 4a69ffb5c0
commit 4e598ed641

View file

@ -794,8 +794,9 @@ void SceneXrender::EffectFrame::render(QRegion region, double opacity, double fr
qreal left, top, right, bottom; qreal left, top, right, bottom;
m_effectFrame->frame().getMargins(left, top, right, bottom); // m_geometry is the inner geometry m_effectFrame->frame().getMargins(left, top, right, bottom); // m_geometry is the inner geometry
QRect geom = m_effectFrame->geometry().adjusted(-left, -top, right, bottom); QRect geom = m_effectFrame->geometry().adjusted(-left, -top, right, bottom);
XRenderComposite(display(), PictOpOver, *m_picture, None, effects->xrenderBufferPicture(), xcb_render_composite(connection(), XCB_RENDER_PICT_OP_OVER, *m_picture,
0, 0, 0, 0, geom.x(), geom.y(), geom.width(), geom.height()); XCB_RENDER_PICTURE_NONE, effects->xrenderBufferPicture(),
0, 0, 0, 0, geom.x(), geom.y(), geom.width(), geom.height());
} }
} }
if (!m_effectFrame->selection().isNull()) { if (!m_effectFrame->selection().isNull()) {
@ -806,8 +807,9 @@ void SceneXrender::EffectFrame::render(QRegion region, double opacity, double fr
} }
if (m_selectionPicture) { if (m_selectionPicture) {
const QRect geom = m_effectFrame->selection(); const QRect geom = m_effectFrame->selection();
XRenderComposite(display(), PictOpOver, *m_selectionPicture, None, effects->xrenderBufferPicture(), xcb_render_composite(connection(), XCB_RENDER_PICT_OP_OVER, *m_selectionPicture,
0, 0, 0, 0, geom.x(), geom.y(), geom.width(), geom.height()); XCB_RENDER_PICTURE_NONE, effects->xrenderBufferPicture(),
0, 0, 0, 0, geom.x(), geom.y(), geom.width(), geom.height());
} }
} }
@ -820,8 +822,9 @@ void SceneXrender::EffectFrame::render(QRegion region, double opacity, double fr
if (!m_iconPicture) // lazy creation if (!m_iconPicture) // lazy creation
m_iconPicture = new XRenderPicture(m_effectFrame->icon()); m_iconPicture = new XRenderPicture(m_effectFrame->icon());
QRect geom = QRect(topLeft, m_effectFrame->iconSize()); QRect geom = QRect(topLeft, m_effectFrame->iconSize());
XRenderComposite(display(), PictOpOver, *m_iconPicture, fill, effects->xrenderBufferPicture(), xcb_render_composite(connection(), XCB_RENDER_PICT_OP_OVER, *m_iconPicture, fill,
0, 0, 0, 0, geom.x(), geom.y(), geom.width(), geom.height()); effects->xrenderBufferPicture(),
0, 0, 0, 0, geom.x(), geom.y(), geom.width(), geom.height());
} }
// Render text // Render text
@ -829,7 +832,7 @@ void SceneXrender::EffectFrame::render(QRegion region, double opacity, double fr
if (!m_textPicture) { // Lazy creation if (!m_textPicture) { // Lazy creation
updateTextPicture(); updateTextPicture();
} }
XRenderComposite(display(), PictOpOver, *m_textPicture, fill, effects->xrenderBufferPicture(), xcb_render_composite(connection(), XCB_RENDER_PICT_OP_OVER, *m_textPicture, fill, effects->xrenderBufferPicture(),
0, 0, 0, 0, m_effectFrame->geometry().x(), m_effectFrame->geometry().y(), 0, 0, 0, 0, m_effectFrame->geometry().x(), m_effectFrame->geometry().y(),
m_effectFrame->geometry().width(), m_effectFrame->geometry().height()); m_effectFrame->geometry().width(), m_effectFrame->geometry().height());
} }