diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-02-08 07:33:48 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-02-08 07:33:48 +0000 |
| commit | 99cd843fc6dc7a7f55b6c90fd1162f233853aad2 (patch) | |
| tree | 42b25c02cbf984fe29b378e9d0dbfbca1436c87b /otk/renderstyle.hh | |
| parent | d2df40965bbf042e062b65d6adc12bc158d503eb (diff) | |
Brand spankin new widgets for otk (Label and Button).
Add a new Size class.
Rect, Point, and Size are immutable classes.
Size uses *UNSIGNED* ints. This is causing me headaches * a bajillion right now, so we'll see about that.
Diffstat (limited to 'otk/renderstyle.hh')
| -rw-r--r-- | otk/renderstyle.hh | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/otk/renderstyle.hh b/otk/renderstyle.hh index 2d2c3250..69745533 100644 --- a/otk/renderstyle.hh +++ b/otk/renderstyle.hh @@ -7,6 +7,7 @@ #include "font.hh" #include <string> +#include <list> namespace otk { @@ -16,11 +17,27 @@ struct PixmapMask { PixmapMask() { mask = None; w = h = 0; } }; +class RenderStyle; + +class StyleNotify { +public: + //! Called when the style is changed on the same screen as the handler. + virtual void styleChanged(const RenderStyle &) {} +}; + class RenderStyle { + static RenderStyle **_styles; + static std::list<StyleNotify*> *_notifies; public: - enum TextJustify { - LeftJustify, - RightJustify, + static void initialize(); + static void destroy(); + static void registerNotify(int screen, StyleNotify *n); + static void unregisterNotify(int screen, StyleNotify *n); + static RenderStyle *style(int screen); + + enum Justify { + LeftTopJustify, + RightBottomJustify, CenterJustify }; @@ -61,7 +78,7 @@ private: RenderTexture *_grip_unfocus; Font *_label_font; - TextJustify _label_justify; + Justify _label_justify; PixmapMask *_max_mask; PixmapMask *_icon_mask; @@ -120,7 +137,7 @@ public: inline RenderTexture *gripUnfocusBackground() const { return _grip_unfocus; } inline Font *labelFont() const { return _label_font; } - inline TextJustify labelTextJustify() const { return _label_justify; } + inline Justify labelTextJustify() const { return _label_justify; } inline PixmapMask *maximizeMask() const { return _max_mask; } inline PixmapMask *iconifyMask() const { return _icon_mask; } |
