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 ()
 
SurfacePixmappixmap () const
 
SurfacePixmappreviousPixmap () 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
 
Scenescene () 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
 
ItemparentItem () 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 ColorDescriptioncolorDescription () const
 
PresentationModeHint presentationHint () const
 

Protected Member Functions

 SurfaceItem (Scene *scene, Item *parent=nullptr)
 
virtual std::unique_ptr< SurfacePixmapcreatePixmap ()=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< SurfacePixmapm_pixmap
 
std::unique_ptr< SurfacePixmapm_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: