X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/db6ca522bdfbde29c214b41435a10876ff72a0a4..7373f39fe2ebe1b5007ed56ddd86d9ce0ad3efb7:/lib/gui/ewidgetdesktop.h diff --git a/lib/gui/ewidgetdesktop.h b/lib/gui/ewidgetdesktop.h index f88efa88..4ea5b57a 100644 --- a/lib/gui/ewidgetdesktop.h +++ b/lib/gui/ewidgetdesktop.h @@ -44,7 +44,10 @@ public: void recalcClipRegions(eWidget *root); - void invalidate(const gRegion ®ion); + void invalidateWidgetLayer(const gRegion ®ion, const eWidget *widget, int layer); + void invalidateWidget(const gRegion ®ion, const eWidget *widget, int layer = -1); + void invalidate(const gRegion ®ion, const eWidget *widget = 0, int layer = -1); + void paintLayer(eWidget *widget, int layer); void paint(); void setDC(gDC *dc); @@ -54,7 +57,8 @@ public: void setPalette(gPixmap &pm); void setRedrawTask(eMainloop &ml); - + + void makeCompatiblePixmap(ePtr &pm); void makeCompatiblePixmap(gPixmap &pm); enum { @@ -63,26 +67,34 @@ public: }; void setCompositionMode(int mode); + + int getStyleID() { return m_style_id; } + void setStyleID(int id) { m_style_id = id; } + + void resize(eSize size); + eSize size() const { return m_screen.m_screen_size; } private: ePtrList m_root; void calcWidgetClipRegion(eWidget *widget, gRegion &parent_visible); void paintBackground(eWidgetDesktopCompBuffer *comp); eMainloop *m_mainloop; - eTimer *m_timer; + ePtr m_timer; int m_comp_mode; int m_require_redraw; eWidgetDesktopCompBuffer m_screen; - void createBufferForWidget(eWidget *widget); - void removeBufferForWidget(eWidget *widget); + void createBufferForWidget(eWidget *widget, int layer); + void removeBufferForWidget(eWidget *widget, int layer); void redrawComposition(int notifed); void notify(); void clearVisibility(eWidget *widget); + + int m_style_id; }; #endif