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

#include <workspacescene.h>

Inheritance diagram for KWin::WorkspaceScene:
KWin::Scene KWin::WorkspaceSceneOpenGL KWin::WorkspaceSceneQPainter

Classes

struct  PaintContext
 
struct  Phase2Data
 

Signals

void preFrameRender ()
 
void frameRendered ()
 
- Signals inherited from KWin::Scene
void delegateRemoved (SceneDelegate *delegate)
 

Public Member Functions

 WorkspaceScene (std::unique_ptr< ItemRenderer > renderer)
 
 ~WorkspaceScene () override
 
void initialize ()
 
ItemcontainerItem () const
 
SurfaceItemscanoutCandidate () const override
 
QRegion prePaint (SceneDelegate *delegate) override
 
void postPaint () override
 
void paint (const RenderTarget &renderTarget, const QRegion &region) override
 
void frame (SceneDelegate *delegate, OutputFrame *frame) override
 
virtual bool makeOpenGLContextCurrent ()
 
virtual void doneOpenGLContextCurrent ()
 
virtual bool supportsNativeFence () const
 
virtual std::unique_ptr< DecorationRenderercreateDecorationRenderer (Decoration::DecoratedClientImpl *)=0
 
virtual std::unique_ptr< ShadowTextureProvidercreateShadowTextureProvider (Shadow *shadow)=0
 
virtual bool animationsSupported () const =0
 
virtual std::pair< std::shared_ptr< GLTexture >, ColorDescriptiontextureForOutput (Output *output) const
 
- Public Member Functions inherited from KWin::Scene
 Scene (std::unique_ptr< ItemRenderer > &&renderer)
 
 ~Scene () override
 
ItemRendererrenderer () const
 
void addRepaint (const QRegion &region)
 
void addRepaint (int x, int y, int width, int height)
 
void addRepaintFull ()
 
virtual QRegion damage () const
 
QRect geometry () const
 
void setGeometry (const QRect &rect)
 
QList< SceneDelegate * > delegates () const
 
void addDelegate (SceneDelegate *delegate)
 
void removeDelegate (SceneDelegate *delegate)
 

Protected Member Functions

void createStackingOrder ()
 
void clearStackingOrder ()
 
void finalPaintScreen (const RenderTarget &renderTarget, const RenderViewport &viewport, int mask, const QRegion &region, Output *screen)
 
void preparePaintGenericScreen ()
 
void paintGenericScreen (const RenderTarget &renderTarget, const RenderViewport &viewport, int mask, Output *screen)
 
void preparePaintSimpleScreen ()
 
void paintSimpleScreen (const RenderTarget &renderTarget, const RenderViewport &viewport, int mask, const QRegion &region)
 
void finalPaintWindow (const RenderTarget &renderTarget, const RenderViewport &viewport, EffectWindow *w, int mask, const QRegion &region, WindowPaintData &data)
 
void paintWindow (const RenderTarget &renderTarget, const RenderViewport &viewport, WindowItem *w, int mask, const QRegion &region)
 
void finalDrawWindow (const RenderTarget &renderTarget, const RenderViewport &viewport, EffectWindow *w, int mask, const QRegion &region, WindowPaintData &data)
 

Protected Attributes

Outputpainted_screen = nullptr
 
SceneDelegatepainted_delegate = nullptr
 
QList< WindowItem * > stacking_order
 
- Protected Attributes inherited from KWin::Scene
std::unique_ptr< ItemRendererm_renderer
 
QList< SceneDelegate * > m_delegates
 
QRect m_geometry
 

Friends

class EffectsHandler
 

Additional Inherited Members

- Public Types inherited from KWin::Scene
enum  {
  PAINT_WINDOW_OPAQUE = 1 << 0 , PAINT_WINDOW_TRANSLUCENT = 1 << 1 , PAINT_WINDOW_TRANSFORMED = 1 << 2 , PAINT_SCREEN_REGION = 1 << 3 ,
  PAINT_SCREEN_TRANSFORMED = 1 << 4 , PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS = 1 << 5 , PAINT_SCREEN_BACKGROUND_FIRST = 1 << 6
}
 

Detailed Description

Definition at line 38 of file workspacescene.h.

Constructor & Destructor Documentation

◆ WorkspaceScene()

KWin::WorkspaceScene::WorkspaceScene ( std::unique_ptr< ItemRenderer > renderer)
explicit

Definition at line 86 of file workspacescene.cpp.

◆ ~WorkspaceScene()

KWin::WorkspaceScene::~WorkspaceScene ( )
override

Definition at line 101 of file workspacescene.cpp.

Member Function Documentation

◆ animationsSupported()

virtual bool KWin::WorkspaceScene::animationsSupported ( ) const
pure virtual

Whether the Scene is able to drive animations. This is used as a hint to the effects system which effects can be supported. If the Scene performs software rendering it is supposed to return false, if rendering is hardware accelerated it should return true.

Implemented in KWin::WorkspaceSceneOpenGL, and KWin::WorkspaceSceneQPainter.

◆ clearStackingOrder()

void KWin::WorkspaceScene::clearStackingOrder ( )
protected

Definition at line 454 of file workspacescene.cpp.

◆ containerItem()

Item * KWin::WorkspaceScene::containerItem ( ) const

Definition at line 138 of file workspacescene.cpp.

◆ createDecorationRenderer()

virtual std::unique_ptr< DecorationRenderer > KWin::WorkspaceScene::createDecorationRenderer ( Decoration::DecoratedClientImpl * )
pure virtual

◆ createShadowTextureProvider()

virtual std::unique_ptr< ShadowTextureProvider > KWin::WorkspaceScene::createShadowTextureProvider ( Shadow * shadow)
pure virtual

◆ createStackingOrder()

void KWin::WorkspaceScene::createStackingOrder ( )
protected

Definition at line 443 of file workspacescene.cpp.

◆ doneOpenGLContextCurrent()

void KWin::WorkspaceScene::doneOpenGLContextCurrent ( )
virtual

Reimplemented in KWin::WorkspaceSceneOpenGL.

Definition at line 486 of file workspacescene.cpp.

◆ finalDrawWindow()

void KWin::WorkspaceScene::finalDrawWindow ( const RenderTarget & renderTarget,
const RenderViewport & viewport,
EffectWindow * w,
int mask,
const QRegion & region,
WindowPaintData & data )
protected

Definition at line 476 of file workspacescene.cpp.

◆ finalPaintScreen()

void KWin::WorkspaceScene::finalPaintScreen ( const RenderTarget & renderTarget,
const RenderViewport & viewport,
int mask,
const QRegion & region,
Output * screen )
protected

Definition at line 382 of file workspacescene.cpp.

◆ finalPaintWindow()

void KWin::WorkspaceScene::finalPaintWindow ( const RenderTarget & renderTarget,
const RenderViewport & viewport,
EffectWindow * w,
int mask,
const QRegion & region,
WindowPaintData & data )
protected

Definition at line 470 of file workspacescene.cpp.

◆ frame()

void KWin::WorkspaceScene::frame ( SceneDelegate * delegate,
OutputFrame * frame )
overridevirtual

Reimplemented from KWin::Scene.

Definition at line 187 of file workspacescene.cpp.

◆ frameRendered

void KWin::WorkspaceScene::frameRendered ( )
signal

◆ initialize()

void KWin::WorkspaceScene::initialize ( )

◆ makeOpenGLContextCurrent()

bool KWin::WorkspaceScene::makeOpenGLContextCurrent ( )
virtual

Reimplemented in KWin::WorkspaceSceneOpenGL.

Definition at line 481 of file workspacescene.cpp.

◆ paint()

void KWin::WorkspaceScene::paint ( const RenderTarget & renderTarget,
const QRegion & region )
overridevirtual

Implements KWin::Scene.

Definition at line 367 of file workspacescene.cpp.

◆ paintGenericScreen()

void KWin::WorkspaceScene::paintGenericScreen ( const RenderTarget & renderTarget,
const RenderViewport & viewport,
int mask,
Output * screen )
protected

Definition at line 394 of file workspacescene.cpp.

◆ paintSimpleScreen()

void KWin::WorkspaceScene::paintSimpleScreen ( const RenderTarget & renderTarget,
const RenderViewport & viewport,
int mask,
const QRegion & region )
protected

Definition at line 412 of file workspacescene.cpp.

◆ paintWindow()

void KWin::WorkspaceScene::paintWindow ( const RenderTarget & renderTarget,
const RenderViewport & viewport,
WindowItem * w,
int mask,
const QRegion & region )
protected

Definition at line 459 of file workspacescene.cpp.

◆ postPaint()

void KWin::WorkspaceScene::postPaint ( )
overridevirtual

Implements KWin::Scene.

Definition at line 356 of file workspacescene.cpp.

◆ preFrameRender

void KWin::WorkspaceScene::preFrameRender ( )
signal

◆ prePaint()

QRegion KWin::WorkspaceScene::prePaint ( SceneDelegate * delegate)
overridevirtual

Implements KWin::Scene.

Definition at line 226 of file workspacescene.cpp.

◆ preparePaintGenericScreen()

void KWin::WorkspaceScene::preparePaintGenericScreen ( )
protected

Definition at line 290 of file workspacescene.cpp.

◆ preparePaintSimpleScreen()

void KWin::WorkspaceScene::preparePaintSimpleScreen ( )
protected

Definition at line 311 of file workspacescene.cpp.

◆ scanoutCandidate()

SurfaceItem * KWin::WorkspaceScene::scanoutCandidate ( ) const
overridevirtual

Reimplemented from KWin::Scene.

Definition at line 153 of file workspacescene.cpp.

◆ supportsNativeFence()

bool KWin::WorkspaceScene::supportsNativeFence ( ) const
virtual

Reimplemented in KWin::WorkspaceSceneOpenGL.

Definition at line 490 of file workspacescene.cpp.

◆ textureForOutput()

virtual std::pair< std::shared_ptr< GLTexture >, ColorDescription > KWin::WorkspaceScene::textureForOutput ( Output * output) const
inlinevirtual

Reimplemented in KWin::WorkspaceSceneOpenGL.

Definition at line 71 of file workspacescene.h.

Friends And Related Symbol Documentation

◆ EffectsHandler

friend class EffectsHandler
friend

Definition at line 83 of file workspacescene.h.

Member Data Documentation

◆ painted_delegate

SceneDelegate* KWin::WorkspaceScene::painted_delegate = nullptr
protected

Definition at line 118 of file workspacescene.h.

◆ painted_screen

Output* KWin::WorkspaceScene::painted_screen = nullptr
protected

Definition at line 117 of file workspacescene.h.

◆ stacking_order

QList<WindowItem *> KWin::WorkspaceScene::stacking_order
protected

Definition at line 121 of file workspacescene.h.


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