void recalcClipRegions(eWidget *root);
- void invalidate(const gRegion ®ion);
+ void invalidateWidgetLayer(const gRegion ®ion, const eWidget *widget, int layer);
+ void invalidateWidget(const gRegion ®ion, const eWidget *widget, int layer = -1);
+ void invalidate(const gRegion ®ion, const eWidget *widget = 0, int layer = -1);
+ void paintLayer(eWidget *widget, int layer);
void paint();
void setDC(gDC *dc);
void setPalette(gPixmap &pm);
void setRedrawTask(eMainloop &ml);
-
+
+ void makeCompatiblePixmap(ePtr<gPixmap> &pm);
void makeCompatiblePixmap(gPixmap &pm);
enum {
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);
void paintBackground(eWidgetDesktopCompBuffer *comp);
eMainloop *m_mainloop;
- eTimer *m_timer;
+ ePtr<eTimer> m_timer;
int m_comp_mode;
int m_require_redraw;
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();