X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/92f02a487b375ae936e7fa74b060bee9d495a106..9314a07dfcc0a5123beb50ddb198cbcc5805d7db:/lib/gui/ewidget.h diff --git a/lib/gui/ewidget.h b/lib/gui/ewidget.h index 89b3b38f..6739f25e 100644 --- a/lib/gui/ewidget.h +++ b/lib/gui/ewidget.h @@ -4,6 +4,9 @@ #include /* for gRegion */ #include /* for eSmartPtrList */ #include /* for eWindowStyle */ +#include + +class eWidgetDesktop;class eWidgetDesktop; class eWidget { @@ -36,10 +39,16 @@ public: void setBackgroundColor(const gRGB &col); void clearBackgroundColor(); + void setZPosition(int z); + void setTransparent(int transp); + /* untested code */ int isVisible() { return (m_vis & wVisShow) && ((!m_parent) || m_parent->isVisible()); } /* ... */ + + int isTransparent() { return m_vis & wVisTransparent; } + eWidgetAnimation m_animation; private: eWidgetDesktop *m_desktop; @@ -59,13 +68,19 @@ private: ePtr m_style; + void insertIntoParent(); void doPaint(gPainter &painter, const gRegion ®ion); void recalcClipRegionsWhenVisible(); + void parentRemoved(); + gRGB m_background_color; int m_have_background_color; eWidget *m_current_focus, *m_focus_owner; + + int m_z_position; + protected: virtual ~eWidget(); void mayKillFocus(); @@ -73,6 +88,7 @@ public: // all in local space! gRegion m_clip_region, m_visible_region, m_visible_with_childs; + struct eWidgetDesktopCompBuffer *m_comp_buffer; enum eWidgetEvent {