X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ed40f6f85c9c07c3c1224ae20601082c0309a631..ac6ba5aeaad1467541d33a737819803376aacbd0:/lib/gui/ewindowstyle.h diff --git a/lib/gui/ewindowstyle.h b/lib/gui/ewindowstyle.h index 91f2f0b7..c204a034 100644 --- a/lib/gui/ewindowstyle.h +++ b/lib/gui/ewindowstyle.h @@ -7,22 +7,13 @@ class gFont; #include -SWIG_IGNORE(eWindowStyle); -class eWindowStyle: public iObject +class eWindowStyle_ENUMS { #ifdef SWIG - eWindowStyle(); + eWindowStyle_ENUMS(); + ~eWindowStyle_ENUMS(); #endif public: -#ifndef SWIG - virtual void handleNewSize(eWindow *wnd, eSize &size, eSize &offset) = 0; - virtual void paintWindowDecoration(eWindow *wnd, gPainter &painter, const std::string &title) = 0; - virtual void paintBackground(gPainter &painter, const ePoint &offset, const eSize &size) = 0; - virtual void setStyle(gPainter &painter, int what) = 0; - virtual void drawFrame(gPainter &painter, const eRect &frame, int type) = 0; - virtual RESULT getFont(int what, ePtr &font) = 0; -#endif - virtual ~eWindowStyle() = 0; enum { styleLabel, styleListboxSelected, @@ -30,18 +21,36 @@ public: styleListboxMarked, styleListboxMarkedAndSelected }; - + enum { frameButton, frameListboxEntry }; - + enum { fontStatic, fontButton, fontTitlebar }; }; + +SWIG_IGNORE(eWindowStyle); +class eWindowStyle: public eWindowStyle_ENUMS, public iObject +{ +#ifdef SWIG + eWindowStyle(); +#endif +public: +#ifndef SWIG + virtual void handleNewSize(eWindow *wnd, eSize &size, eSize &offset) = 0; + virtual void paintWindowDecoration(eWindow *wnd, gPainter &painter, const std::string &title) = 0; + virtual void paintBackground(gPainter &painter, const ePoint &offset, const eSize &size) = 0; + virtual void setStyle(gPainter &painter, int what) = 0; + virtual void drawFrame(gPainter &painter, const eRect &frame, int type) = 0; + virtual RESULT getFont(int what, ePtr &font) = 0; +#endif + virtual ~eWindowStyle() = 0; +}; SWIG_TEMPLATE_TYPEDEF(ePtr, eWindowStylePtr); SWIG_IGNORE(eWindowStyleManager); @@ -56,15 +65,15 @@ public: #ifndef SWIG eWindowStyleManager(); ~eWindowStyleManager(); + static SWIG_VOID(int) getInstance(ePtr &SWIG_NAMED_OUTPUT(mgr)) { mgr = m_instance; if (!mgr) return -1; return 0; } #endif void getStyle(int style_id, ePtr &SWIG_OUTPUT); void setStyle(int style_id, eWindowStyle *style); - static SWIG_VOID(int) getInstance(ePtr &SWIG_NAMED_OUTPUT(mgr)) { mgr = m_instance; if (!mgr) return -1; return 0; } private: static eWindowStyleManager *m_instance; std::map > m_current_style; }; -SWIG_TEMPLATE_TYPEDEF_REPLACE(ePtr, eWindowStyleManager); +SWIG_TEMPLATE_TYPEDEF(ePtr, eWindowStyleManager); SWIG_EXTEND(ePtr, static ePtr getInstance() {