X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fgui%2Fewidgetdesktop.h;h=29bce1ca78882ff2a0374f7c82ac1ce0465c9a76;hb=99e6ea49ff22e993eecce31af689da1b3b85157c;hp=7237df96a2107b6c3a2d1dcddb4653d6542cb8e8;hpb=9248bf86cddef4cf3904748bcd94ddabef68f8c7;p=vuplus_dvbapp diff --git a/lib/gui/ewidgetdesktop.h b/lib/gui/ewidgetdesktop.h index 7237df9..29bce1c 100644 --- a/lib/gui/ewidgetdesktop.h +++ b/lib/gui/ewidgetdesktop.h @@ -44,7 +44,10 @@ public: 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); @@ -67,21 +70,26 @@ public: 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; } + void sendShow(ePoint point, eSize size); + void sendHide(ePoint point, eSize size); private: ePtrList m_root; void calcWidgetClipRegion(eWidget *widget, gRegion &parent_visible); void paintBackground(eWidgetDesktopCompBuffer *comp); eMainloop *m_mainloop; - eTimer *m_timer; + ePtr 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();