summaryrefslogtreecommitdiff
path: root/libs/canvas/circle.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-04-18 21:29:13 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-04-18 21:29:13 -0400
commit907e7cd4af129f60d74ecda38601fa306007e365 (patch)
treec23d9ea52f11f50ca15f1c43f4ec3a8faf59389a /libs/canvas/circle.cc
parent8482ce14ce6ce2a67cd95c0a1fcb7c6591caef35 (diff)
part two of ... add Canvas::Arc and derive Canvas::Circle from it
Diffstat (limited to 'libs/canvas/circle.cc')
-rw-r--r--libs/canvas/circle.cc65
1 files changed, 2 insertions, 63 deletions
diff --git a/libs/canvas/circle.cc b/libs/canvas/circle.cc
index 3a3d6e8e7e..15a1679f74 100644
--- a/libs/canvas/circle.cc
+++ b/libs/canvas/circle.cc
@@ -16,75 +16,14 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include <algorithm>
-#include <cairomm/context.h>
-#include "pbd/compose.h"
#include "canvas/circle.h"
-#include "canvas/types.h"
-#include "canvas/debug.h"
-#include "canvas/utils.h"
-#include "canvas/canvas.h"
-using namespace std;
using namespace ArdourCanvas;
Circle::Circle (Group* parent)
: Item (parent)
- , Outline (parent)
- , Fill (parent)
- , _radius (0.0)
+ , Arc (parent)
{
-
-}
-
-void
-Circle::compute_bounding_box () const
-{
- Rect bbox;
-
- bbox.x0 = _center.x - _radius;
- bbox.y0 = _center.y - _radius;
- bbox.x1 = _center.x + _radius;
- bbox.y1 = _center.y + _radius;
-
- bbox = bbox.expand (0.5 + (_outline_width / 2));
-
- _bounding_box = bbox;
- _bounding_box_dirty = false;
-}
-
-void
-Circle::render (Rect const & /*area*/, Cairo::RefPtr<Cairo::Context> context) const
-{
- if (_radius <= 0.0) {
- return;
- }
- context->arc (_center.x, _center.y, _radius, 0.0, 2.0 * M_PI);
- setup_fill_context (context);
- context->fill_preserve ();
- setup_outline_context (context);
- context->stroke ();
+ set_arc (360.0);
}
-void
-Circle::set_center (Duple const & c)
-{
- begin_change ();
-
- _center = c;
-
- _bounding_box_dirty = true;
- end_change ();
-}
-
-void
-Circle::set_radius (Coord r)
-{
- begin_change ();
-
- _radius = r;
-
- _bounding_box_dirty = true;
- end_change ();
-}
-