48 bool initialize()
override;
51 xcb_connection_t *connection()
const;
54 std::unique_ptr<OpenGLBackend> createOpenGLBackend()
override;
55 QList<CompositingType> supportedCompositors()
const override;
58 void scheduleUpdateOutputs();
61 std::unique_ptr<Edge> createScreenEdge(
ScreenEdges *parent);
62 std::unique_ptr<Cursor> createPlatformCursor();
63 void startInteractiveWindowSelection(std::function<
void(
KWin::Window *)> callback,
const QByteArray &cursorName = QByteArray());
64 void startInteractivePositionSelection(std::function<
void(
const QPointF &)> callback);
66 std::unique_ptr<OutlineVisual> createOutline(
Outline *outline);
71 Outputs outputs()
const override;
73 void setEglDisplay(std::unique_ptr<EglDisplay> &&display);
74 EglDisplay *sceneEglDisplayObject()
const override;
88 X11Output *findX11Output(
const QString &name)
const;
90 void doUpdateOutputs();
91 void updateRefreshRate();
95 std::unique_ptr<XInputIntegration> m_xinputIntegration;
97 std::unique_ptr<QTimer> m_updateOutputsTimer;
99 std::unique_ptr<WindowSelector> m_windowSelector;
100 std::unique_ptr<X11EventFilter> m_screenEdgesFilter;
101 std::unique_ptr<X11EventFilter> m_randrEventFilter;
102 std::unique_ptr<X11Keyboard> m_keyboard;
103 std::unique_ptr<RenderLoop> m_renderLoop;
104 QList<Output *> m_outputs;
105 std::unique_ptr<EglDisplay> m_eglDisplay;