KWin
Loading...
Searching...
No Matches
Signals | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
KWin::SurfaceItem Class Referenceabstract

#include <surfaceitem.h>

Inheritance diagram for KWin::SurfaceItem:
KWin::Item KWin::SurfaceItemInternal KWin::SurfaceItemWayland KWin::SurfaceItemX11 KWin::SurfaceItemXwayland

Signals

void damaged ()
 
- Signals inherited from KWin::Item
void childAdded (Item *item)
 
void positionChanged ()
 
void sizeChanged ()
 
void boundingRectChanged ()
 

Public Member Functions

QSizeF destinationSize () const
 
void setDestinationSize (const QSizeF &size)
 
QRectF bufferSourceBox () const
 
void setBufferSourceBox (const QRectF &box)
 
OutputTransform bufferTransform () const
 
void setBufferTransform (OutputTransform transform)
 
QSize bufferSize () const
 
void setBufferSize (const QSize &size)
 
QRegion mapFromBuffer (const QRegion &region) const
 
void addDamage (const QRegion &region)
 
void resetDamage ()
 
QRegion damage () const
 
void discardPixmap ()
 
void updatePixmap ()
 
void destroyPixmap ()
 
SurfacePixmap * pixmap () const
 
SurfacePixmap * previousPixmap () const
 
void referencePreviousPixmap ()
 
void unreferencePreviousPixmap ()
 
virtual ContentType contentType () const
 
virtual void freeze ()
 
std::chrono::nanoseconds frameTimeEstimation () const
 
- Public Member Functions inherited from KWin::Item
 Item (Scene *scene, Item *parent=nullptr)
 
 ~Item () override
 
Scene * scene () const
 
qreal opacity () const
 
void setOpacity (qreal opacity)
 
QPointF position () const
 
void setPosition (const QPointF &point)
 
QSizeF size () const
 
void setSize (const QSizeF &size)
 
int z () const
 
void setZ (int z)
 
QRectF rect () const
 
QRectF boundingRect () const
 
virtual QList< QRectF > shape () const
 
virtual QRegion opaque () const
 
Item * parentItem () const
 
void setParentItem (Item *parent)
 
QList< Item * > childItems () const
 
QList< Item * > sortedChildItems () const
 
QPointF rootPosition () const
 
QMatrix4x4 transform () const
 
void setTransform (const QMatrix4x4 &transform)
 
QRegion mapToGlobal (const QRegion &region) const
 
QRectF mapToGlobal (const QRectF &rect) const
 
QRectF mapFromGlobal (const QRectF &rect) const
 
void stackBefore (Item *sibling)
 
void stackAfter (Item *sibling)
 
bool explicitVisible () const
 
bool isVisible () const
 
void setVisible (bool visible)
 
void scheduleRepaint (const QRectF &region)
 
void scheduleRepaint (const QRegion &region)
 
void scheduleRepaint (SceneDelegate *delegate, const QRegion &region)
 
void scheduleFrame ()
 
QRegion repaints (SceneDelegate *delegate) const
 
void resetRepaints (SceneDelegate *delegate)
 
WindowQuadList quads () const
 
const ColorDescription & colorDescription () const
 
PresentationModeHint presentationHint () const
 

Protected Member Functions

 SurfaceItem (Scene *scene, Item *parent=nullptr)
 
virtual std::unique_ptr< SurfacePixmap > createPixmap ()=0
 
void preprocess () override
 
WindowQuadList buildQuads () const override
 
- Protected Member Functions inherited from KWin::Item
void discardQuads ()
 
void setColorDescription (const ColorDescription &description)
 
void setPresentationHint (PresentationModeHint hint)
 

Protected Attributes

QRegion m_damage
 
OutputTransform m_bufferToSurfaceTransform
 
OutputTransform m_surfaceToBufferTransform
 
QRectF m_bufferSourceBox
 
QSize m_bufferSize
 
QSizeF m_destinationSize
 
std::unique_ptr< SurfacePixmap > m_pixmap
 
std::unique_ptr< SurfacePixmap > m_previousPixmap
 
int m_referencePixmapCounter = 0
 
std::deque< std::chrono::nanoseconds > m_lastDamageTimeDiffs
 
std::optional< std::chrono::steady_clock::time_point > m_lastDamage
 
std::chrono::nanoseconds m_frameTimeEstimation = std::chrono::days(1000)
 

Detailed Description

The SurfaceItem class represents a surface with some contents.

Definition at line 24 of file surfaceitem.h.

Constructor & Destructor Documentation

◆ SurfaceItem()

KWin::SurfaceItem::SurfaceItem ( Scene * scene,
Item * parent = nullptr )
explicitprotected

Definition at line 16 of file surfaceitem.cpp.

Member Function Documentation

◆ addDamage()

void KWin::SurfaceItem::addDamage ( const QRegion & region)

Definition at line 104 of file surfaceitem.cpp.

◆ bufferSize()

QSize KWin::SurfaceItem::bufferSize ( ) const

Definition at line 62 of file surfaceitem.cpp.

◆ bufferSourceBox()

QRectF KWin::SurfaceItem::bufferSourceBox ( ) const

Definition at line 35 of file surfaceitem.cpp.

◆ bufferTransform()

OutputTransform KWin::SurfaceItem::bufferTransform ( ) const

Definition at line 48 of file surfaceitem.cpp.

◆ buildQuads()

WindowQuadList KWin::SurfaceItem::buildQuads ( ) const
overrideprotectedvirtual

Reimplemented from KWin::Item.

Definition at line 221 of file surfaceitem.cpp.

◆ contentType()

ContentType KWin::SurfaceItem::contentType ( ) const
virtual

Reimplemented in KWin::SurfaceItemWayland.

Definition at line 254 of file surfaceitem.cpp.

◆ createPixmap()

virtual std::unique_ptr< SurfacePixmap > KWin::SurfaceItem::createPixmap ( )
protectedpure virtual

◆ damage()

QRegion KWin::SurfaceItem::damage ( ) const

Definition at line 143 of file surfaceitem.cpp.

◆ damaged

void KWin::SurfaceItem::damaged ( )
signal

◆ destinationSize()

QSizeF KWin::SurfaceItem::destinationSize ( ) const

Definition at line 21 of file surfaceitem.cpp.

◆ destroyPixmap()

void KWin::SurfaceItem::destroyPixmap ( )

Definition at line 211 of file surfaceitem.cpp.

◆ discardPixmap()

void KWin::SurfaceItem::discardPixmap ( )

Definition at line 198 of file surfaceitem.cpp.

◆ frameTimeEstimation()

std::chrono::nanoseconds KWin::SurfaceItem::frameTimeEstimation ( ) const

Definition at line 263 of file surfaceitem.cpp.

◆ freeze()

void KWin::SurfaceItem::freeze ( )
virtual

Reimplemented in KWin::SurfaceItemWayland.

Definition at line 259 of file surfaceitem.cpp.

◆ mapFromBuffer()

QRegion KWin::SurfaceItem::mapFromBuffer ( const QRegion & region) const

Definition at line 76 of file surfaceitem.cpp.

◆ pixmap()

SurfacePixmap * KWin::SurfaceItem::pixmap ( ) const

Definition at line 148 of file surfaceitem.cpp.

◆ preprocess()

void KWin::SurfaceItem::preprocess ( )
overrideprotectedvirtual

Reimplemented from KWin::Item.

Reimplemented in KWin::SurfaceItemX11.

Definition at line 216 of file surfaceitem.cpp.

◆ previousPixmap()

SurfacePixmap * KWin::SurfaceItem::previousPixmap ( ) const

Definition at line 159 of file surfaceitem.cpp.

◆ referencePreviousPixmap()

void KWin::SurfaceItem::referencePreviousPixmap ( )

Definition at line 164 of file surfaceitem.cpp.

◆ resetDamage()

void KWin::SurfaceItem::resetDamage ( )

Definition at line 138 of file surfaceitem.cpp.

◆ setBufferSize()

void KWin::SurfaceItem::setBufferSize ( const QSize & size)

Definition at line 67 of file surfaceitem.cpp.

◆ setBufferSourceBox()

void KWin::SurfaceItem::setBufferSourceBox ( const QRectF & box)

Definition at line 40 of file surfaceitem.cpp.

◆ setBufferTransform()

void KWin::SurfaceItem::setBufferTransform ( OutputTransform transform)

Definition at line 53 of file surfaceitem.cpp.

◆ setDestinationSize()

void KWin::SurfaceItem::setDestinationSize ( const QSizeF & size)

Definition at line 26 of file surfaceitem.cpp.

◆ unreferencePreviousPixmap()

void KWin::SurfaceItem::unreferencePreviousPixmap ( )

Definition at line 171 of file surfaceitem.cpp.

◆ updatePixmap()

void KWin::SurfaceItem::updatePixmap ( )

Definition at line 182 of file surfaceitem.cpp.

Member Data Documentation

◆ m_bufferSize

QSize KWin::SurfaceItem::m_bufferSize
protected

Definition at line 77 of file surfaceitem.h.

◆ m_bufferSourceBox

QRectF KWin::SurfaceItem::m_bufferSourceBox
protected

Definition at line 76 of file surfaceitem.h.

◆ m_bufferToSurfaceTransform

OutputTransform KWin::SurfaceItem::m_bufferToSurfaceTransform
protected

Definition at line 74 of file surfaceitem.h.

◆ m_damage

QRegion KWin::SurfaceItem::m_damage
protected

Definition at line 73 of file surfaceitem.h.

◆ m_destinationSize

QSizeF KWin::SurfaceItem::m_destinationSize
protected

Definition at line 78 of file surfaceitem.h.

◆ m_frameTimeEstimation

std::chrono::nanoseconds KWin::SurfaceItem::m_frameTimeEstimation = std::chrono::days(1000)
protected

Definition at line 84 of file surfaceitem.h.

◆ m_lastDamage

std::optional<std::chrono::steady_clock::time_point> KWin::SurfaceItem::m_lastDamage
protected

Definition at line 83 of file surfaceitem.h.

◆ m_lastDamageTimeDiffs

std::deque<std::chrono::nanoseconds> KWin::SurfaceItem::m_lastDamageTimeDiffs
protected

Definition at line 82 of file surfaceitem.h.

◆ m_pixmap

std::unique_ptr<SurfacePixmap> KWin::SurfaceItem::m_pixmap
protected

Definition at line 79 of file surfaceitem.h.

◆ m_previousPixmap

std::unique_ptr<SurfacePixmap> KWin::SurfaceItem::m_previousPixmap
protected

Definition at line 80 of file surfaceitem.h.

◆ m_referencePixmapCounter

int KWin::SurfaceItem::m_referencePixmapCounter = 0
protected

Definition at line 81 of file surfaceitem.h.

◆ m_surfaceToBufferTransform

OutputTransform KWin::SurfaceItem::m_surfaceToBufferTransform
protected

Definition at line 75 of file surfaceitem.h.


The documentation for this class was generated from the following files: