Changeset View
Changeset View
Standalone View
Standalone View
overlaywindow.h
- This file was copied to plugins/platforms/x11/standalone/overlaywindow_x11.h.
Show All 24 Lines | |||||
25 | // xcb | 25 | // xcb | ||
26 | #include <xcb/xcb.h> | 26 | #include <xcb/xcb.h> | ||
27 | 27 | | |||
28 | #include <kwin_export.h> | 28 | #include <kwin_export.h> | ||
29 | 29 | | |||
30 | namespace KWin { | 30 | namespace KWin { | ||
31 | class KWIN_EXPORT OverlayWindow { | 31 | class KWIN_EXPORT OverlayWindow { | ||
32 | public: | 32 | public: | ||
33 | OverlayWindow(); | 33 | virtual ~OverlayWindow(); | ||
34 | ~OverlayWindow(); | | |||
35 | /// Creates XComposite overlay window, call initOverlay() afterwards | 34 | /// Creates XComposite overlay window, call initOverlay() afterwards | ||
36 | bool create(); | 35 | virtual bool create() = 0; | ||
37 | /// Init overlay and the destination window in it | 36 | /// Init overlay and the destination window in it | ||
38 | void setup(xcb_window_t window); | 37 | virtual void setup(xcb_window_t window) = 0; | ||
39 | void show(); | 38 | virtual void show() = 0; | ||
40 | void hide(); // hides and resets overlay window | 39 | virtual void hide() = 0; // hides and resets overlay window | ||
41 | void setShape(const QRegion& reg); | 40 | virtual void setShape(const QRegion& reg) = 0; | ||
42 | void resize(const QSize &size); | 41 | virtual void resize(const QSize &size) = 0; | ||
43 | /// Destroys XComposite overlay window | 42 | /// Destroys XComposite overlay window | ||
44 | void destroy(); | 43 | virtual void destroy() = 0; | ||
45 | xcb_window_t window() const; | 44 | virtual xcb_window_t window() const = 0; | ||
46 | bool isVisible() const; | 45 | virtual bool isVisible() const = 0; | ||
47 | void setVisibility(bool visible); | 46 | virtual void setVisibility(bool visible) = 0; | ||
48 | private: | 47 | protected: | ||
49 | void setNoneBackgroundPixmap(xcb_window_t window); | 48 | OverlayWindow(); | ||
50 | void setupInputShape(xcb_window_t window); | | |||
51 | bool m_visible; | | |||
52 | bool m_shown; // For showOverlay() | | |||
53 | QRegion m_shape; | | |||
54 | xcb_window_t m_window; | | |||
55 | }; | 49 | }; | ||
56 | } // namespace | 50 | } // namespace | ||
57 | 51 | | |||
58 | #endif //KWIN_OVERLAYWINDOW_H | 52 | #endif //KWIN_OVERLAYWINDOW_H |