X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fcanvas%2Fcanvas%2Ftext.h;h=c05bc6905016995aa914dd764f1cc4428cadad5a;hb=9a0a2a29b53a7d8b74d64039a3a594e54262ef29;hp=59d2007ceba17d30828d9f2874eaac3318b70e2d;hpb=2e27e21d3a09889311e18a8efe11abcaa6d9c8b3;p=ardour.git diff --git a/libs/canvas/canvas/text.h b/libs/canvas/canvas/text.h index 59d2007ceb..c05bc69050 100644 --- a/libs/canvas/canvas/text.h +++ b/libs/canvas/canvas/text.h @@ -31,39 +31,45 @@ namespace ArdourCanvas { 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; }; }