+// -*- 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 setStyle(Style *style);
+ virtual void setStyle(RenderStyle *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;
};
}