X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fcanvas%2Fcanvas%2Ftext.h;h=c05bc6905016995aa914dd764f1cc4428cadad5a;hb=4d3cd732c93dd64b8768ec5f8398999f521ee6f0;hp=4431cb9a80d5256595a241bb4b0f8ea7656f9670;hpb=097b781209f0ef66a0a26c188d6f50d163efcf4f;p=ardour.git diff --git a/libs/canvas/canvas/text.h b/libs/canvas/canvas/text.h index 4431cb9a80..c05bc69050 100644 --- a/libs/canvas/canvas/text.h +++ b/libs/canvas/canvas/text.h @@ -23,44 +23,53 @@ #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(); + Text (Canvas*); + Text (Item*); + ~Text(); void render (Rect const &, Cairo::RefPtr) const; void compute_bounding_box () const; + Gtkmm2ext::Color color () const { return _color; } + void set_color (Gtkmm2ext::Color); + void set (std::string const &); - void set_color (uint32_t); void set_font_description (Pango::FontDescription); void set_alignment (Pango::Alignment); - void clamp_width (double); + void clamp_width (double); + + double width() const; + double height() const; + + void set_size_chars (int nchars); + void dump (std::ostream&) const; - void set_size_chars (int nchars); - void dump (std::ostream&) const; + std::string text() const { return _text; } + double text_width() const; private: - std::string _text; - uint32_t _color; + std::string _text; + Gtkmm2ext::Color _color; Pango::FontDescription* _font_description; - Pango::Alignment _alignment; - mutable Cairo::RefPtr _image; - mutable Duple _origin; - mutable double _width; - mutable double _height; - mutable bool _need_redraw; - double _clamped_width; - - void redraw (Cairo::RefPtr) const; - void redraw (Glib::RefPtr) const; - void _redraw (Glib::RefPtr) const; + Pango::Alignment _alignment; + mutable Cairo::RefPtr _image; + mutable Duple _origin; + mutable double _width; + mutable double _height; + mutable bool _need_redraw; + mutable double _width_correction; + double _clamped_width; + + void _redraw () const; }; }