fixed refcount of eListboxPythonStringContent
[enigma2.git] / lib / gui / ewindowstyle.h
index 02f155af7a2bb3adc20fd8aa40d8741024e31e6e..74ff88d5ebb040729262b7aaabfa53da350ce4dc 100644 (file)
@@ -3,6 +3,7 @@
 
 class eWindow;
 class eSize;
+class gFont;
 
 #include <lib/base/object.h>
 
@@ -10,15 +11,40 @@ 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 setStyle(gPainter &painter, int what) = 0;
+       enum {
+               styleLabel,
+               styleListboxSelected,
+               styleListboxNormal
+       };
+       
+       virtual void drawFrame(gPainter &painter, const eRect &frame, int type) = 0;
+       
+       enum {
+               frameButton,
+               frameListboxEntry
+       };
+       virtual ~eWindowStyle() = 0;
+
 };
 
 class eWindowStyleSimple: public eWindowStyle
 {
        DECLARE_REF;
+private:
+       ePtr<gFont> 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 setStyle(gPainter &painter, int what);
+       void drawFrame(gPainter &painter, const eRect &frame, int what);
 };
 
 #endif