summaryrefslogtreecommitdiff
path: root/libs/canvas/rectangle.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-06-27 10:41:00 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-06-27 10:41:00 -0400
commit0e656f0a13344e7fdc6a3cb01482b5f5f6c021f4 (patch)
tree87c17098a3f1f122ca3fbad7a1862228d44242c4 /libs/canvas/rectangle.cc
parentf9936d7d3c0a5c47d995111d97535f8e6fa74912 (diff)
workaround/hack/fix for cairo pattern gradient space exceeding 2^16 size limit
Diffstat (limited to 'libs/canvas/rectangle.cc')
-rw-r--r--libs/canvas/rectangle.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/libs/canvas/rectangle.cc b/libs/canvas/rectangle.cc
index 9512b69417..2207ea80a1 100644
--- a/libs/canvas/rectangle.cc
+++ b/libs/canvas/rectangle.cc
@@ -72,7 +72,11 @@ Rectangle::render (Rect const & area, Cairo::RefPtr<Cairo::Context> context) con
Rect stroke_rect = fill_rect.expand (0.5);
if (_fill) {
- setup_fill_context (context);
+ if (_stops.empty()) {
+ setup_fill_context (context);
+ } else {
+ setup_gradient_context (context, self, Duple (draw.x0, draw.y0));
+ }
context->rectangle (fill_rect.x0, fill_rect.y0, fill_rect.width(), fill_rect.height());
context->fill ();
}