Example #1
0
 ~BufferAttacher()
 {
     if (texture)
         texture->deleteLater();
     bufferRef = QWaylandBufferRef();
     nextBuffer = QWaylandBufferRef();
 }
Example #2
0
void Surface::surface_commit(Resource *)
{
    m_damage = m_pending.damage;

    if (m_pending.buffer || m_pending.newlyAttached) {
        setBackBuffer(m_pending.buffer);
        m_bufferRef = QWaylandBufferRef(m_buffer);

        if (m_attacher)
            m_attacher->attach(m_bufferRef);
        emit m_waylandSurface->configure(m_bufferRef);
    }

    m_pending.buffer = 0;
    m_pending.offset = QPoint();
    m_pending.newlyAttached = false;
    m_pending.damage = QRegion();

    if (m_buffer)
        m_buffer->setCommitted();

    m_frameCallbacks << m_pendingFrameCallbacks;
    m_pendingFrameCallbacks.clear();

    emit m_waylandSurface->redraw();
}
Example #3
0
 void invalidateTexture()
 {
     if (bufferRef)
         bufferRef.destroyTexture();
     delete texture;
     texture = 0;
     update = true;
     bufferRef = QWaylandBufferRef();
 }