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;