X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fcanvas%2Fcanvas%2Ffill.h;h=9eddeec6b606984e990048cc4776f561fae695b2;hb=c4c7598adbc9e5eca5fe04a23bb7e88fc0989f34;hp=23708e42e51405c84af8e37ef4537d89883a6ca4;hpb=2ba58dfe65bb0c5ba7d5eb18a1566fa79eeb6993;p=ardour.git diff --git a/libs/canvas/canvas/fill.h b/libs/canvas/canvas/fill.h index 23708e42e5..9eddeec6b6 100644 --- a/libs/canvas/canvas/fill.h +++ b/libs/canvas/canvas/fill.h @@ -23,15 +23,20 @@ #include #include +#include + #include "canvas/visibility.h" -#include "canvas/item.h" +#include "canvas/types.h" namespace ArdourCanvas { -class LIBCANVAS_API Fill : virtual public Item +class Item; + +class LIBCANVAS_API Fill : public boost::noncopyable { public: - Fill (Group *); + Fill (Item& self); + virtual ~Fill() {} virtual void set_fill_color (Color); virtual void set_fill (bool); @@ -48,14 +53,20 @@ public: void set_gradient (StopList const & stops, bool is_vertical); + void set_pattern (Cairo::RefPtr); + protected: void setup_fill_context (Cairo::RefPtr) const; void setup_gradient_context (Cairo::RefPtr, Rect const &, Duple const &) const; - + + Item& _self; Color _fill_color; bool _fill; + bool _transparent; StopList _stops; bool _vertical_gradient; + Cairo::RefPtr _pattern; + }; }