#include <lib/base/eptrlist.h>
class eWidget;
+class eMainloop;
+class eTimer;
-class eWidgetDesktop
+class eWidgetDesktop: public Object
{
public: // weil debug
eSize m_screen_size;
gRegion m_dirty_region;
+ gRegion m_background_region;
ePtr<gDC> m_dc;
+ gRGB m_background_color;
public:
eWidgetDesktop(eSize screen);
~eWidgetDesktop();
void addRootWidget(eWidget *root, int top);
+ void removeRootWidget(eWidget *root);
void recalcClipRegions();
void invalidate(const gRegion ®ion);
void paint();
void setDC(gDC *dc);
+
+ void setBackgroundColor(gRGB col);
+
+ void setPalette(gPixmap &pm);
+
+ void setRedrawTask(eMainloop &ml);
+
+ void makeCompatiblePixmap(gPixmap &pm);
private:
ePtrList<eWidget> m_root;
void calcWidgetClipRegion(eWidget *widget, gRegion &parent_visible);
+
+ eMainloop *m_mainloop;
+ eTimer *m_timer;
};
#endif