fix saving of advanced satconfig
[enigma2.git] / lib / gui / ewidgetdesktop.h
index af772bd273ba76a30f2b4ddcdf374c5708232a28..f88efa8823552cec5deb2baaa1870e28c1b8a706 100644 (file)
@@ -33,9 +33,16 @@ class eWidgetDesktop: public Object
 public:
        eWidgetDesktop(eSize screen);
        ~eWidgetDesktop();
-       void addRootWidget(eWidget *root, int top);
+       void addRootWidget(eWidget *root);
        void removeRootWidget(eWidget *root);
-       void recalcClipRegions();
+       
+               /* try to move widget content. */
+               /* returns -1 if there's no move support. */
+               /* call this after recalcClipRegions for that widget. */
+               /* you probably want to invalidate if -1 was returned. */
+       int movedWidget(eWidget *root);
+       
+       void recalcClipRegions(eWidget *root);
        
        void invalidate(const gRegion &region);
        void paint();
@@ -58,7 +65,7 @@ public:
        void setCompositionMode(int mode);
 private:
        ePtrList<eWidget> m_root;
-       void calcWidgetClipRegion(eWidgetDesktopCompBuffer *comp, eWidget *widget, gRegion &parent_visible);
+       void calcWidgetClipRegion(eWidget *widget, gRegion &parent_visible);
        void paintBackground(eWidgetDesktopCompBuffer *comp);
        
        eMainloop *m_mainloop;
@@ -71,6 +78,11 @@ private:
        
        void createBufferForWidget(eWidget *widget);
        void removeBufferForWidget(eWidget *widget);
+       
+       void redrawComposition(int notifed);
+       void notify();
+       
+       void clearVisibility(eWidget *widget);
 };
 
 #endif