kwin/src/scene
Vlad Zahorodnii 3725d67ee1 scene: Introduce cursor item and scene
The cursor scene contains the contents of the cursor. It contains a
CursorItem. The CursorItem either creates a SurfaceItem or an ImageItem
based on the currently attached CursorSource.

The cursor item is rendered by the cursor scene. For now, wherever the
cursor must be rendered, a dummy scene delegate is constructed. It's not
nice but it's a pretty cheap operation. There's a lot of potential for
clean up by moving cursor layer handling from output backends to
compositor. The main reason why there are no persistent scene views is
that it's just easier than tracking when they are actually used, e.g.
after switching between hw and sw cursor.

The software cursor fallback is a bit tricky case. It made to work by
constructing a scratch fbo. The cursor scene is rendered in the scratch
fbo, which is then rendered on the screen. Similar to the case above,
there's space for improvements, but I don't think it has to block the
effort for reusing Items to render the cursor.
2023-01-03 09:33:17 +00:00
..
cursoritem.cpp scene: Introduce cursor item and scene 2023-01-03 09:33:17 +00:00
cursoritem.h scene: Introduce cursor item and scene 2023-01-03 09:33:17 +00:00
cursorscene.cpp scene: Introduce cursor item and scene 2023-01-03 09:33:17 +00:00
cursorscene.h scene: Introduce cursor item and scene 2023-01-03 09:33:17 +00:00
decorationitem.cpp scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
decorationitem.h scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
dndiconitem.cpp scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
dndiconitem.h scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
imageitem.cpp scene: Introduce ImageItem 2023-01-03 09:33:17 +00:00
imageitem.h scene: Introduce ImageItem 2023-01-03 09:33:17 +00:00
item.cpp scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
item.h scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
itemrenderer.cpp scene: Introduce ItemRenderer 2022-12-17 17:14:43 +00:00
itemrenderer.h scene: Introduce ImageItem 2023-01-03 09:33:17 +00:00
itemrenderer_opengl.cpp scene: Introduce ImageItem 2023-01-03 09:33:17 +00:00
itemrenderer_opengl.h scene: Introduce ImageItem 2023-01-03 09:33:17 +00:00
itemrenderer_qpainter.cpp scene: Introduce ImageItem 2023-01-03 09:33:17 +00:00
itemrenderer_qpainter.h scene: Introduce ImageItem 2023-01-03 09:33:17 +00:00
scene.cpp scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
scene.h scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
shadowitem.cpp scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
shadowitem.h scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
surfaceitem.cpp scene: ensure OpenGL texture is updated after direct scanout 2023-01-02 12:57:13 +01:00
surfaceitem.h scene: ensure OpenGL texture is updated after direct scanout 2023-01-02 12:57:13 +01:00
surfaceitem_internal.cpp scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
surfaceitem_internal.h scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
surfaceitem_wayland.cpp scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
surfaceitem_wayland.h scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
surfaceitem_x11.cpp scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
surfaceitem_x11.h scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
windowitem.cpp scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
windowitem.h scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
workspacescene.cpp scene: ensure OpenGL texture is updated after direct scanout 2023-01-02 12:57:13 +01:00
workspacescene.h scene: Split base Scene class from WorkspaceScene class 2022-12-21 12:20:23 +02:00
workspacescene_opengl.cpp scene: Rename Scene to WorkspaceScene 2022-12-21 11:49:07 +02:00
workspacescene_opengl.h scene: Rename Scene to WorkspaceScene 2022-12-21 11:49:07 +02:00
workspacescene_qpainter.cpp scene: Rename Scene to WorkspaceScene 2022-12-21 11:49:07 +02:00
workspacescene_qpainter.h scene: Rename Scene to WorkspaceScene 2022-12-21 11:49:07 +02:00