blob: c917e36a6f55cf294fad7598e257d64d55c775e8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#ifndef __lib_gui_ewidgetdesktop_h
#define __lib_gui_ewidgetdesktop_h
#include <lib/gdi/grc.h>
#include <lib/base/eptrlist.h>
class eWidget;
class eMainloop;
class eTimer;
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
|