Changeset View
Changeset View
Standalone View
Standalone View
scene.h
Show First 20 Lines • Show All 72 Lines • ▼ Show 20 Line(s) | 63 | public: | |||
---|---|---|---|---|---|
73 | virtual bool hasPendingFlush() const { return false; } | 73 | virtual bool hasPendingFlush() const { return false; } | ||
74 | 74 | | |||
75 | // Repaints the given screen areas, windows provides the stacking order. | 75 | // Repaints the given screen areas, windows provides the stacking order. | ||
76 | // The entry point for the main part of the painting pass. | 76 | // The entry point for the main part of the painting pass. | ||
77 | // returns the time since the last vblank signal - if there's one | 77 | // returns the time since the last vblank signal - if there's one | ||
78 | // ie. "what of this frame is lost to painting" | 78 | // ie. "what of this frame is lost to painting" | ||
79 | virtual qint64 paint(QRegion damage, ToplevelList windows) = 0; | 79 | virtual qint64 paint(QRegion damage, ToplevelList windows) = 0; | ||
80 | 80 | | |||
81 | // Notification function - KWin core informs about changes. | 81 | /** | ||
82 | // Used to mainly discard cached data. | 82 | * Adds the Toplevel to the Scene. | ||
83 | * | ||||
84 | * If the toplevel gets deleted, then the scene will try automatically | ||||
85 | * to re-bind an underlying scene window to the corresponding Deleted. | ||||
86 | * | ||||
87 | * @param toplevel The window to be added. | ||||
88 | * @note You can add a toplevel to scene only once. | ||||
89 | **/ | ||||
90 | void addToplevel(Toplevel *toplevel); | ||||
91 | | ||||
92 | /** | ||||
93 | * Removes the Toplevel from the Scene. | ||||
94 | * | ||||
95 | * @param toplevel The window to be removed. | ||||
96 | * @note You can remove a toplevel from the scene only once. | ||||
97 | **/ | ||||
98 | void removeToplevel(Toplevel *toplevel); | ||||
83 | 99 | | |||
84 | // a new window has been created | | |||
85 | void windowAdded(Toplevel*); | | |||
86 | /** | 100 | /** | ||
87 | * @brief Creates the Scene backend of an EffectFrame. | 101 | * @brief Creates the Scene backend of an EffectFrame. | ||
88 | * | 102 | * | ||
89 | * @param frame The EffectFrame this Scene::EffectFrame belongs to. | 103 | * @param frame The EffectFrame this Scene::EffectFrame belongs to. | ||
90 | **/ | 104 | **/ | ||
91 | virtual Scene::EffectFrame *createEffectFrame(EffectFrameImpl *frame) = 0; | 105 | virtual Scene::EffectFrame *createEffectFrame(EffectFrameImpl *frame) = 0; | ||
92 | /** | 106 | /** | ||
93 | * @brief Creates the Scene specific Shadow subclass. | 107 | * @brief Creates the Scene specific Shadow subclass. | ||
▲ Show 20 Lines • Show All 90 Lines • ▼ Show 20 Line(s) | |||||
184 | **/ | 198 | **/ | ||
185 | virtual QVector<QByteArray> openGLPlatformInterfaceExtensions() const; | 199 | virtual QVector<QByteArray> openGLPlatformInterfaceExtensions() const; | ||
186 | 200 | | |||
187 | Q_SIGNALS: | 201 | Q_SIGNALS: | ||
188 | void frameRendered(); | 202 | void frameRendered(); | ||
189 | void resetCompositing(); | 203 | void resetCompositing(); | ||
190 | 204 | | |||
191 | public Q_SLOTS: | 205 | public Q_SLOTS: | ||
192 | // a window has been destroyed | | |||
193 | void windowDeleted(KWin::Deleted*); | | |||
194 | // shape/size of a window changed | 206 | // shape/size of a window changed | ||
195 | void windowGeometryShapeChanged(KWin::Toplevel* c); | 207 | void windowGeometryShapeChanged(KWin::Toplevel* c); | ||
196 | // a window has been closed | 208 | // a window has been closed | ||
197 | void windowClosed(KWin::Toplevel* c, KWin::Deleted* deleted); | 209 | void windowClosed(KWin::Toplevel* c, KWin::Deleted* deleted); | ||
198 | protected: | 210 | protected: | ||
199 | virtual Window *createWindow(Toplevel *toplevel) = 0; | 211 | virtual Window *createWindow(Toplevel *toplevel) = 0; | ||
200 | void createStackingOrder(ToplevelList toplevels); | 212 | void createStackingOrder(ToplevelList toplevels); | ||
201 | void clearStackingOrder(); | 213 | void clearStackingOrder(); | ||
▲ Show 20 Lines • Show All 476 Lines • Show Last 20 Lines |