- add more python stuff
[enigma2.git] / lib / gui / ewidgetdesktop.h
1 #ifndef __lib_gui_ewidgetdesktop_h
2 #define __lib_gui_ewidgetdesktop_h
3
4 #include <lib/gdi/grc.h>
5 #include <lib/base/eptrlist.h>
6
7 class eWidget;
8
9 class eWidgetDesktop
10 {
11 public: // weil debug
12         eSize m_screen_size;
13         gRegion m_dirty_region;
14         ePtr<gDC> m_dc;
15 public:
16         eWidgetDesktop(eSize screen);
17         ~eWidgetDesktop();
18         void addRootWidget(eWidget *root, int top);
19         void removeRootWidget(eWidget *root);
20         void recalcClipRegions();
21         
22         void invalidate(const gRegion &region);
23         void paint();
24         void setDC(gDC *dc);
25 private:
26         ePtrList<eWidget> m_root;
27         void calcWidgetClipRegion(eWidget *widget, gRegion &parent_visible);
28 };
29
30 #endif