X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fcanvas%2Fflag.cc;h=243e71cd170e822735a278a8695d1efe81b3f7ca;hb=542d1ce01c6629362edd8b14eee9523941a3c128;hp=756b54545fd0d547a93f5d8a53f5802e41b263b0;hpb=3c98de9ce4bf6754a10710cfcd4400b5ebaaaa88;p=ardour.git diff --git a/libs/canvas/flag.cc b/libs/canvas/flag.cc index 756b54545f..243e71cd17 100644 --- a/libs/canvas/flag.cc +++ b/libs/canvas/flag.cc @@ -25,11 +25,24 @@ using namespace std; using namespace ArdourCanvas; -Flag::Flag (Group* parent, Distance height, Color outline_color, Color fill_color, Duple position) - : Group (parent) - , _height (height) +Flag::Flag (Canvas* canvas, Distance height, Color outline_color, Color fill_color, Duple position) + : Container (canvas) , _outline_color (outline_color) , _fill_color (fill_color) +{ + setup (height, position); +} + +Flag::Flag (Item* parent, Distance height, Color outline_color, Color fill_color, Duple position) + : Container (parent) + , _outline_color (outline_color) + , _fill_color (fill_color) +{ + setup (height, position); +} + +void +Flag::setup (Distance height, Duple position) { _text = new Text (this); _text->set_alignment (Pango::ALIGN_CENTER); @@ -37,7 +50,7 @@ Flag::Flag (Group* parent, Distance height, Color outline_color, Color fill_colo _line = new Line (this); _line->set_outline_color (_outline_color); - set_height (_height); + set_height (height); _rectangle = new Rectangle (this); _rectangle->set_outline_color (_outline_color); @@ -55,16 +68,16 @@ Flag::set_text (string const & text) boost::optional bbox = _text->bounding_box (); assert (bbox); - Duple flag_size (bbox.get().width() + 10, bbox.get().height() + 3); + Duple flag_size (bbox.get().width() + 10, bbox.get().height() + 4); - _text->set_position (flag_size / 2); + _text->set_position (Duple (5, 2)); _rectangle->set (Rect (0, 0, flag_size.x, flag_size.y)); } void -Flag::set_height (Distance) +Flag::set_height (Distance h) { - _line->set (Duple (0, 0), Duple (0, _height)); + _line->set (Duple (0, 0), Duple (0, h)); } bool