1 #ifndef __lib_gui_ewidget_h
2 #define __lib_gui_ewidget_h
4 #include <lib/gdi/grc.h> /* for gRegion */
5 #include <lib/base/eptrlist.h> /* for eSmartPtrList */
9 friend class eWidgetDesktop;
11 eWidget(eWidget *parent);
13 void move(ePoint pos);
14 void resize(eSize size);
16 ePoint position() const { return m_position; }
17 eSize size() const { return m_size; }
19 void invalidate(const gRegion ®ion = gRegion::invalidRegion());
26 eWidgetDesktop *m_desktop;
35 ePtrList<eWidget> m_childs;
41 void doPaint(gPainter &painter, const gRegion ®ion);
46 // all in local space!
47 gRegion m_clip_region, m_visible_region, m_visible_with_childs;
58 evtWillChangePosition, /* new size is eRect *data */
63 virtual int event(int event, void *data = 0, void *data2 = 0);