summaryrefslogtreecommitdiff
path: root/otk/renderstyle.hh
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-02-08 07:33:48 +0000
committerDana Jansens <danakj@orodu.net>2003-02-08 07:33:48 +0000
commit99cd843fc6dc7a7f55b6c90fd1162f233853aad2 (patch)
tree42b25c02cbf984fe29b378e9d0dbfbca1436c87b /otk/renderstyle.hh
parentd2df40965bbf042e062b65d6adc12bc158d503eb (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.hh27
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; }