X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=libs%2Fcanvas%2Fxfade_curve.cc;h=f97cd234d2045a42076ab92ba6c65ffbdd585a43;hb=2a5921ecf159d49597264a9328dc899bba55e57e;hp=52be6c0095f8a37bad3de76d88ce03075f055353;hpb=fed5599baa4940f12d8b4edce70cf3c9c762572a;p=ardour.git diff --git a/libs/canvas/xfade_curve.cc b/libs/canvas/xfade_curve.cc index 52be6c0095..f97cd234d2 100644 --- a/libs/canvas/xfade_curve.cc +++ b/libs/canvas/xfade_curve.cc @@ -22,15 +22,33 @@ #include #include -#include "canvas/utils.h" #include "canvas/xfade_curve.h" #include "canvas/interpolated_curve.h" +#include "canvas/utils.h" using namespace ArdourCanvas; using std::min; using std::max; -XFadeCurve::XFadeCurve (Group* parent) +XFadeCurve::XFadeCurve (Canvas* c) + : Item (c) + , points_per_segment (32) + , _xfadeposition (Start) + , _outline_color (0x000000ff) + , _fill_color (0x22448880) +{ +} + +XFadeCurve::XFadeCurve (Canvas* c, XFadePosition pos) + : Item (c) + , points_per_segment (32) + , _xfadeposition (pos) + , _outline_color (0x000000ff) + , _fill_color (0x22448880) +{ +} + +XFadeCurve::XFadeCurve (Item* parent) : Item (parent) , points_per_segment (32) , _xfadeposition (Start) @@ -39,7 +57,7 @@ XFadeCurve::XFadeCurve (Group* parent) { } -XFadeCurve::XFadeCurve (Group* parent, XFadePosition pos) +XFadeCurve::XFadeCurve (Item* parent, XFadePosition pos) : Item (parent) , points_per_segment (32) , _xfadeposition (pos) @@ -235,13 +253,13 @@ XFadeCurve::render (Rect const & area, Cairo::RefPtr context) co context->begin_new_path (); context->append_path (IS ? *path_in : *path_out); close_path(draw, context, IS ? _in : _out, true); - //context->set_fill_rule (Cairo::FILL_RULE_EVEN_ODD); + context->set_fill_rule (Cairo::FILL_RULE_EVEN_ODD); context->clip (); context->begin_new_path (); context->append_path (IS ? *path_out: *path_in); close_path(draw, context, IS ? _out : _in, true); set_source_rgba (context, fill_shaded); - //context->set_fill_rule (Cairo::FILL_RULE_WINDING); + context->set_fill_rule (Cairo::FILL_RULE_WINDING); context->fill (); context->restore ();