summaryrefslogtreecommitdiff
path: root/libs/canvas/text.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-06-18 13:46:24 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-06-18 13:46:24 -0400
commit691be68ac2a933920422d06ea74c91429d7a599c (patch)
tree3f21b39682601e0fae8eba785d7d26a016620e05 /libs/canvas/text.cc
parent77f5f4c4bf9074d953a1653658c8f96f38ae258c (diff)
fix rect redraw problems caused by intersection requiring the usual 0.5 expansion (though consider a more general fix for this at teh group level)
Diffstat (limited to 'libs/canvas/text.cc')
-rw-r--r--libs/canvas/text.cc39
1 files changed, 17 insertions, 22 deletions
diff --git a/libs/canvas/text.cc b/libs/canvas/text.cc
index e4575de3b5..4c4d16d85c 100644
--- a/libs/canvas/text.cc
+++ b/libs/canvas/text.cc
@@ -96,12 +96,27 @@ Text::redraw (Cairo::RefPtr<Cairo::Context> context) const
* ::render
*/
- cerr << "rendered \"" << layout->get_text() << "\" into image\n";
-
_need_redraw = false;
}
void
+Text::render (Rect const & /*area*/, Cairo::RefPtr<Cairo::Context> context) const
+{
+ if (_text.empty()) {
+ return;
+ }
+
+ if (_need_redraw) {
+ redraw (context);
+ }
+
+ Rect self = item_to_window (Rect (0, 0, min (_clamped_width, _width), _height));
+ context->rectangle (self.x0, self.y0, self.width(), self.height());
+ context->set_source (_image, self.x0, self.y0);
+ context->fill ();
+}
+
+void
Text::clamp_width (double w)
{
_clamped_width = w;
@@ -138,26 +153,6 @@ Text::compute_bounding_box () const
}
void
-Text::render (Rect const & area, Cairo::RefPtr<Cairo::Context> context) const
-{
- if (_text.empty()) {
- return;
- }
-
- if (_need_redraw) {
- redraw (context);
- }
-
-
- Rect self = item_to_window (Rect (0, 0, min (_clamped_width, _width), _height));
- cerr << "Draw \"" << _text << "\" @ " << self.x0 << ", " << self.y0 << ' ' << self.width() << " x " << self.height() << endl;
- context->rectangle (self.x0, self.y0, self.width(), self.height());
- context->set_source (_image, 0, 0);
- //context->set_source_rgb (0.3, 0.4, 0.02);
- context->fill ();
-}
-
-void
Text::set_alignment (Pango::Alignment alignment)
{
begin_change ();