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/label.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/label.hh')
| -rw-r--r-- | otk/label.hh | 39 |
1 files changed, 30 insertions, 9 deletions
diff --git a/otk/label.hh b/otk/label.hh index 9c32e544..1b31ae79 100644 --- a/otk/label.hh +++ b/otk/label.hh @@ -3,33 +3,54 @@ #define __label_hh #include "widget.hh" +#include "ustring.hh" +#include "renderstyle.hh" +#include "font.hh" + +#include <vector> namespace otk { class Label : public Widget { public: - Label(Widget *parent); - ~Label(); + virtual ~Label(); - inline const ustring &getText(void) const { return _text; } - void setText(const ustring &text) { _text = text; _dirty = true; } + inline const ustring& getText(void) const { return _text; } + void setText(const ustring &text); - virtual void renderForeground(void); + RenderStyle::Justify horizontalJustify() const { return _justify_horz; } + virtual void setHorizontalJustify(RenderStyle::Justify j); + RenderStyle::Justify verticalJustify() const { return _justify_vert; } + virtual void setVerticalJustify(RenderStyle::Justify j); - virtual void update(); + const Font *font() const { return _font; } + virtual void setFont(const Font *f); - void fitString(const std::string &str); - void fitSize(int w, int h); + virtual void calcDefaultSizes(); - virtual void setStyle(RenderStyle *style); + virtual void styleChanged(const RenderStyle &style); + + virtual void renderForeground(Surface &surface); +protected: + //! The color the label will use for rendering its text + RenderColor *_forecolor; + private: //! Text to be displayed in the label ustring _text; + //! Text to be displayed, parsed into its separate lines + std::vector<ustring> _parsedtext; //! The actual text being shown, may be a subset of _text ustring _drawtext; + //! The font the text will be rendered with + const Font *_font; + //! The horizontal justification used for drawing text + RenderStyle::Justify _justify_horz; + //! The vertical justification used for drawing text + RenderStyle::Justify _justify_vert; //! The drawing offset for the text int _drawx; }; |
