change Canvas heirarchy and constructors

Items no longer need a parent group (they require a Canvas pointer instead), so all constructors have been rationalized
and have two variants, one with a parent and one with a canvas.

All Items now inherit from Fill and Outline, to banish diagonal inheritance and virtual base classes and all that.

There were zero changes to the Ardour GUI arising from these changes.
This commit is contained in:
Paul Davis
2014-06-12 14:53:44 -04:00
parent 551014240a
commit 590882f3c8
48 changed files with 409 additions and 178 deletions

View File

@@ -30,22 +30,30 @@
using namespace std;
using namespace ArdourCanvas;
Rectangle::Rectangle (Group* parent)
: Item (parent)
, Outline (parent)
, Fill (parent)
Rectangle::Rectangle (Canvas* c)
: Item (c)
, _outline_what ((What) (LEFT | RIGHT | TOP | BOTTOM))
{
}
Rectangle::Rectangle (Group* parent, Rect const & rect)
: Item (parent)
, Outline (parent)
, Fill (parent)
Rectangle::Rectangle (Canvas* c, Rect const & rect)
: Item (c)
, _rect (rect)
, _outline_what ((What) (LEFT | RIGHT | TOP | BOTTOM))
{
}
Rectangle::Rectangle (Group* g)
: Item (g)
, _outline_what ((What) (LEFT | RIGHT | TOP | BOTTOM))
{
}
Rectangle::Rectangle (Group* g, Rect const & rect)
: Item (g)
, _rect (rect)
, _outline_what ((What) (LEFT | RIGHT | TOP | BOTTOM))
{
}
void