a couple of debug output statements to help diagnose a crash
[ardour.git] / libs / canvas / fill.cc
index 42bcbfff3ccff2c82f0cf601e21af6d1cbf502d5..bf72c678aabad34dad5ad232d1af642dc1103eac 100644 (file)
@@ -28,6 +28,7 @@
 #include "canvas/item.h"
 #include "canvas/types.h"
 #include "canvas/utils.h"
+#include "canvas/colors.h"
 
 using namespace std;
 using namespace ArdourCanvas;
@@ -72,7 +73,11 @@ Fill::set_fill (bool fill)
 void
 Fill::setup_fill_context (Cairo::RefPtr<Cairo::Context> context) const
 {
-       set_source_rgba (context, _fill_color);
+        if (_pattern) {
+                context->set_source (_pattern);
+        } else {
+                set_source_rgba (context, _fill_color);
+        }
 }
 
 void
@@ -95,6 +100,12 @@ Fill::setup_gradient_context (Cairo::RefPtr<Cairo::Context> context, Rect const
        context->set_source (_gradient);
 }
 
+void
+Fill::set_pattern (Cairo::RefPtr<Cairo::Pattern> p)
+{
+        _pattern = p;
+}
+
 void
 Fill::set_gradient (StopList const & stops, bool vertical)
 {