X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ddc3964ed95d01e72229dc9af968a327cd84e56c..a5307ff8aa3456aa5bec285e7d94d8d7c014d131:/lib/gui/ewindowstyle.h diff --git a/lib/gui/ewindowstyle.h b/lib/gui/ewindowstyle.h index 02f155af..d5da5a34 100644 --- a/lib/gui/ewindowstyle.h +++ b/lib/gui/ewindowstyle.h @@ -3,6 +3,7 @@ class eWindow; class eSize; +class gFont; #include @@ -10,15 +11,28 @@ class eWindowStyle: public iObject { public: virtual void handleNewSize(eWindow *wnd, const eSize &size) = 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 setForegroundStyle(gPainter &painter) = 0; + virtual void drawButtonFrame(gPainter &painter, const eRect &frame) = 0; + virtual ~eWindowStyle() = 0; }; class eWindowStyleSimple: public eWindowStyle { DECLARE_REF; +private: + ePtr m_fnt; + gColor m_border_color_tl, m_border_color_br, m_title_color_back, m_title_color, m_background_color; + + int m_border_top, m_border_left, m_border_right, m_border_bottom; public: eWindowStyleSimple(); void handleNewSize(eWindow *wnd, const eSize &size); - int m_border_top, m_border_left, m_border_right, m_border_bottom; + void paintWindowDecoration(eWindow *wnd, gPainter &painter, const std::string &title); + void paintBackground(gPainter &painter, const ePoint &offset, const eSize &size); + void setForegroundStyle(gPainter &painter); + void drawButtonFrame(gPainter &painter, const eRect &frame); }; #endif