Rapicorn - Experimental UI Toolkit - Source Code  13.07.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
heritage.hh
Go to the documentation of this file.
00001  // Licensed GNU LGPL v3 or later: http://www.gnu.org/licenses/lgpl.html
00002 #ifndef __RAPICORN_HERITAGE_HH__
00003 #define __RAPICORN_HERITAGE_HH__
00004 
00005 #include <ui/primitives.hh>
00006 
00007 namespace Rapicorn {
00008 
00009 class WindowImpl;
00010 class WidgetImpl;
00011 
00012 class Heritage : public virtual ReferenceCountable {
00013   friend        class ClassDoctor;
00014   class Internals;
00015   Internals    *internals_;
00016   WindowImpl   &window_;
00017   explicit      Heritage        (WindowImpl &window,
00018                                  Internals  *internals);
00019   /*Des*/      ~Heritage        ();
00020   static
00021   Heritage*     create_heritage (WindowImpl     &window,
00022                                  WidgetImpl       &widget,
00023                                  ColorSchemeType color_scheme);
00024 public:
00025   Heritage*     adapt_heritage  (WidgetImpl           &widget,
00026                                  ColorSchemeType color_scheme);
00027   WindowImpl&   window          () const { return window_; }
00028   /* colors */
00029   Color         get_color       (StateType state,
00030                                  ColorType ct) const;
00031   Color         foreground      (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_FOREGROUND); }
00032   Color         background      (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_BACKGROUND); }
00033   Color         background_even (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_BACKGROUND_EVEN); }
00034   Color         background_odd  (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_BACKGROUND_ODD); }
00035   Color         dark_color      (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_DARK); }
00036   Color         dark_shadow     (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_DARK_SHADOW); }
00037   Color         dark_glint      (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_DARK_GLINT); }
00038   Color         light_color     (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_LIGHT); }
00039   Color         light_shadow    (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_LIGHT_SHADOW); }
00040   Color         light_glint     (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_LIGHT_GLINT); }
00041   Color         focus_color     (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_FOCUS); }
00042   Color         black           (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_BLACK); }
00043   Color         white           (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_WHITE); }
00044   Color         red             (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_RED); }
00045   Color         yellow          (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_YELLOW); }
00046   Color         green           (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_GREEN); }
00047   Color         cyan            (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_CYAN); }
00048   Color         blue            (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_BLUE); }
00049   Color         magenta         (StateType st = STATE_NORMAL) const { return get_color (st, COLOR_MAGENTA); }
00050   Color         insensitive_ink (StateType st = STATE_NORMAL, Color *glint = NULL) const;
00051   /* variants */
00052   Heritage&     selected        ();
00053   /* parsing */
00054   Color         resolve_color   (const String  &color_name,
00055                                  StateType      state,
00056                                  ColorType      color_type = COLOR_NONE);
00057 };
00058 
00059 } // Rapicorn
00060 
00061 #endif  /* __RAPICORN_HERITAGE_HH__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines