]> Dogcows Code - chaz/openbox/blobdiff - otk/label.hh
formatting
[chaz/openbox] / otk / label.hh
index 7cfa23bf67629052bbb9ceeee5b777421453e921..1b31ae79a5b91703096c71f80e295f9241bbb095 100644 (file)
@@ -1,25 +1,58 @@
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
 #ifndef __label_hh
 #define __label_hh
 
 #include "widget.hh"
+#include "ustring.hh"
+#include "renderstyle.hh"
+#include "font.hh"
+
+#include <vector>
 
 namespace otk {
 
-class OtkLabel : public OtkWidget {
+class Label : public Widget {
 
 public:
+  Label(Widget *parent);
+  virtual ~Label();
 
-  OtkLabel(OtkWidget *parent);
-  ~OtkLabel();
+  inline const ustring& getText(void) const { return _text; }
+  void setText(const ustring &text);
 
-  inline const std::string &getText(void) const { return _text; }
-  void setText(const std::string &text) { _text = text; _dirty = true; }
+  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);
 
-  void update(void);
+  const Font *font() const { return _font; }
+  virtual void setFont(const Font *f);
 
-private:
+  virtual void calcDefaultSizes();
 
-  std::string _text;
+  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;
 };
 
 }
This page took 0.024674 seconds and 4 git commands to generate.