Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

BTheme.h

Go to the documentation of this file.
00001 // BTheme.h (this is -*- C++ -*-)
00002 // 
00003 // \author: Bjoern Giesler <bjoern@giesler.de>
00004 // 
00005 // 
00006 // 
00007 // $Author: giesler $
00008 // $Locker$
00009 // $Revision$
00010 // $Date: 2002-08-19 10:41:28 +0200 (Mon, 19 Aug 2002) $
00011 
00012 #ifndef BTHEME_H
00013 #define BTHEME_H
00014 
00015 /* system includes */
00016 /* (none) */
00017 
00018 /* my includes */
00019 #include "BImage.h"
00020 #include "BGraphics.h"
00021 #include "BWidget.h"
00022 #include "BScroller.h"
00023 
00024 class BFont;
00025 
00026 class BTheme {
00027 public:
00028   virtual ~BTheme() {}
00029   virtual BRect contentRectForWidget(const BWidget& widget) = 0;
00030   virtual void drawWidgetBackground(BImage& img, BWidget& widget) = 0;
00031   virtual void drawWidgetFrame(BImage& img, BWidget& widget) = 0;
00032 
00033   virtual void drawButton(BImage& img, BWidget& w) = 0;
00034 
00035   virtual void drawSelectionRect(BImage& img, const BRect& rect,
00036                                  const BWidget& w) = 0;
00037 
00038   virtual void drawScroller(BImage& img, BScroller& w) = 0;
00039   virtual int scrollerHitTest(BScroller& w, const BEvent& event) = 0;
00040 
00041   virtual BFont *defaultFont() = 0;
00042   virtual BFont *defaultSmallFont() = 0;
00043   virtual BFont *defaultBigFont() = 0;
00044 
00045   virtual uint16 textColor() = 0;
00046   virtual uint16 selectedTextColor() = 0;
00047 
00048   static BTheme* currentTheme();
00049 private:
00050   static BTheme *current;
00051 };
00052 
00053 class BSimpleTheme: public BTheme {
00054 public:
00055   BSimpleTheme();
00056   virtual ~BSimpleTheme();
00057   virtual BRect contentRectForWidget(const BWidget& widget);
00058   virtual void drawWidgetBackground(BImage& img, BWidget& widget);
00059   virtual void drawWidgetFrame(BImage& img, BWidget& widget);
00060 
00061   virtual void drawButton(BImage& img, BWidget& w);
00062 
00063   virtual void drawSelectionRect(BImage& img, const BRect& rect,
00064                                  const BWidget& w);
00065 
00066   virtual void drawScroller(BImage& img, BScroller& w);
00067   virtual int scrollerHitTest(BScroller& w, const BEvent& event);
00068 
00069   virtual BFont *defaultFont() { return _font; }
00070   virtual BFont *defaultSmallFont() { return _smallFont; }
00071   virtual BFont *defaultBigFont() { return _bigFont; }
00072 
00073   virtual uint16 textColor() { return RGB15(0, 0, 0) | BIT(15); }
00074   virtual uint16 selectedTextColor() { return RGB15(31, 31, 31) | BIT(15); }
00075 
00076 private:
00077   BFont *_font, *_smallFont, *_bigFont;
00078 };
00079 
00080 
00081 #endif /* BTHEME_H */

Generated on Sat Dec 29 09:59:23 2007 for DSGUI by doxygen1.3-rc3