X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fcanvas%2Ffill.cc;h=bf72c678aabad34dad5ad232d1af642dc1103eac;hb=573ec69a9aa29b08d99cba56284660fcd080fb55;hp=42bcbfff3ccff2c82f0cf601e21af6d1cbf502d5;hpb=e5e12acc5698090f2c0c614385e457cc0b46fbb0;p=ardour.git diff --git a/libs/canvas/fill.cc b/libs/canvas/fill.cc index 42bcbfff3c..bf72c678aa 100644 --- a/libs/canvas/fill.cc +++ b/libs/canvas/fill.cc @@ -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 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 context, Rect const context->set_source (_gradient); } +void +Fill::set_pattern (Cairo::RefPtr p) +{ + _pattern = p; +} + void Fill::set_gradient (StopList const & stops, bool vertical) {