X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Flabel.hh;h=9c32e544936ea0ebc414633814572690eec585e4;hb=64ac7d053748494b3a8d0be9f1d55f6f5b9f1a90;hp=0dd81442582cfb13d01b970356d97be666de2d71;hpb=26adc8853bc04f3f2f2d2e5f5ac94121f23b72e2;p=chaz%2Fopenbox diff --git a/otk/label.hh b/otk/label.hh index 0dd81442..9c32e544 100644 --- a/otk/label.hh +++ b/otk/label.hh @@ -1,30 +1,37 @@ +// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- #ifndef __label_hh #define __label_hh #include "widget.hh" -#include "font.hh" namespace otk { -class OtkLabel : public OtkWidget { +class Label : public Widget { public: - OtkLabel(OtkWidget *parent); - ~OtkLabel(); + Label(Widget *parent); + ~Label(); - inline const std::string &getText(void) const { return _text; } - void setText(const std::string &text) { _text = text; _dirty = true; } + inline const ustring &getText(void) const { return _text; } + void setText(const ustring &text) { _text = text; _dirty = true; } - void update(void); + virtual void renderForeground(void); + + virtual void update(); + + void fitString(const std::string &str); + void fitSize(int w, int h); + + virtual void setStyle(RenderStyle *style); - virtual void setStyle(Style *style); - private: - //! Object used by Xft to render to the drawable - XftDraw *_xftdraw; - //! Text displayed in the label - std::string _text; + //! Text to be displayed in the label + ustring _text; + //! The actual text being shown, may be a subset of _text + ustring _drawtext; + //! The drawing offset for the text + int _drawx; }; }