fix possible crash on task abort and work with new getCD return value
[enigma2.git] / lib / gui / ewidgetdesktop.h
index 7237df96a2107b6c3a2d1dcddb4653d6542cb8e8..91b7ea0847aa0009182fb9e8ded5ef3980aab916 100644 (file)
@@ -44,7 +44,10 @@ public:
        
        void recalcClipRegions(eWidget *root);
        
-       void invalidate(const gRegion &region);
+       void invalidateWidgetLayer(const gRegion &region, const eWidget *widget, int layer);
+       void invalidateWidget(const gRegion &region, const eWidget *widget, int layer = -1);
+       void invalidate(const gRegion &region, const eWidget *widget = 0, int layer = -1);
+       void paintLayer(eWidget *widget, int layer);
        void paint();
        void setDC(gDC *dc);
        
@@ -67,6 +70,9 @@ public:
        
        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<eWidget> m_root;
        void calcWidgetClipRegion(eWidget *widget, gRegion &parent_visible);
@@ -80,8 +86,8 @@ 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();