X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fgui%2Fewidgetdesktop.h;h=7a0a36a78a2ecab54d7c2d77ee5669afaae5b1a1;hp=117138bd3dd59f213b012c5d160f6e7b26de89ae;hb=87b1a41106c4561a400536558d10dc703b3f81f4;hpb=87bfe5dfced0fb7a4e9839fdafa898261a39c86c diff --git a/lib/gui/ewidgetdesktop.h b/lib/gui/ewidgetdesktop.h index 117138b..7a0a36a 100644 --- a/lib/gui/ewidgetdesktop.h +++ b/lib/gui/ewidgetdesktop.h @@ -33,7 +33,7 @@ class eWidgetDesktop: public Object public: eWidgetDesktop(eSize screen); ~eWidgetDesktop(); - void addRootWidget(eWidget *root, int top); + void addRootWidget(eWidget *root); void removeRootWidget(eWidget *root); /* try to move widget content. */ @@ -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,6 +67,9 @@ public: }; void setCompositionMode(int mode); + + int getStyleID() { return m_style_id; } + void setStyleID(int id) { m_style_id = id; } private: ePtrList m_root; void calcWidgetClipRegion(eWidget *widget, gRegion &parent_visible); @@ -76,11 +83,15 @@ private: 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