X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fcanvas%2Fcanvas%2Ftext.h;h=f72c08856635612fb3e1632700bcde07371cde9c;hb=2a5921ecf159d49597264a9328dc899bba55e57e;hp=6ae6d58a37297b818f7276c3e8eb56c416a8e8ee;hpb=3031a99364333b9adcc52c4922687477a1e62337;p=ardour.git diff --git a/libs/canvas/canvas/text.h b/libs/canvas/canvas/text.h index 6ae6d58a37..f72c088566 100644 --- a/libs/canvas/canvas/text.h +++ b/libs/canvas/canvas/text.h @@ -23,21 +23,25 @@ #include #include +#include "canvas/visibility.h" #include "canvas/item.h" namespace ArdourCanvas { -class Text : public Item +class LIBCANVAS_API Text : public Item { public: - Text (Group *); + Text (Canvas*); + Text (Item*); ~Text(); void render (Rect const &, Cairo::RefPtr) const; void compute_bounding_box () const; + ArdourCanvas::Color color () const { return _color; } + void set_color (ArdourCanvas::Color); + void set (std::string const &); - void set_color (uint32_t); void set_font_description (Pango::FontDescription); void set_alignment (Pango::Alignment); @@ -46,19 +50,24 @@ public: void set_size_chars (int nchars); void dump (std::ostream&) const; + std::string text() const { return _text; } + private: - std::string _text; - uint32_t _color; + std::string _text; + ArdourCanvas::Color _color; Pango::FontDescription* _font_description; - Pango::Alignment _alignment; + Pango::Alignment _alignment; mutable Cairo::RefPtr _image; - mutable Duple _origin; - mutable double _width; - mutable double _height; - mutable bool _need_redraw; - double _clamped_width; + mutable Duple _origin; + mutable double _width; + mutable double _height; + mutable bool _need_redraw; + mutable double _width_correction; + double _clamped_width; void redraw (Cairo::RefPtr) const; + void redraw (Glib::RefPtr) const; + void _redraw (Glib::RefPtr) const; }; }