/*
- Copyright (C) 2002-2007 Paul Davis
+ Copyright (C) 2002-2007 Paul Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "i18n.h"
using namespace std;
-using namespace sigc;
using namespace ARDOUR;
using namespace PBD;
using namespace Gnome; // for Canvas
_y = 0;
_shape = Full;
_size = 4.0;
- _selected = false;
_item = new Canvas::SimpleRect (_line.canvas_group());
_item->property_draw() = true;
_item->property_fill() = false;
- _item->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_ControlPointFill.get();
+ _item->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_ControlPointFill.get();
_item->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_ControlPointOutline.get();
_item->property_outline_pixels() = 1;
_item->set_data ("control_point", this);
- _item->signal_event().connect (mem_fun (this, &ControlPoint::event_handler));
+ _item->signal_event().connect (sigc::mem_fun (this, &ControlPoint::event_handler));
hide ();
set_visible (false);
}
-ControlPoint::ControlPoint (const ControlPoint& other, bool dummy_arg_to_force_special_copy_constructor)
+ControlPoint::ControlPoint (const ControlPoint& other, bool /*dummy_arg_to_force_special_copy_constructor*/)
: _line (other._line)
{
if (&other == this) {
_y = other._y;
_shape = other._shape;
_size = other._size;
- _selected = false;
_item = new Canvas::SimpleRect (_line.canvas_group());
_item->property_fill() = false;
_item->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_ControlPointOutline.get();
_item->property_outline_pixels() = 1;
-
+
/* NOTE: no event handling in copied ControlPoints */
hide ();
{
_item->property_draw() = (gboolean) yn;
}
-
+
+bool
+ControlPoint::visible () const
+{
+ return _item->property_draw ();
+}
+
void
ControlPoint::reset (double x, double y, AutomationList::iterator mi, uint32_t vi, ShapeType shape)
{
}
void
-ControlPoint::show_color (bool entered, bool hide_too)
+ControlPoint::set_color ()
{
uint32_t color = 0;
- if (entered) {
- if (_selected) {
- color = ARDOUR_UI::config()->canvasvar_EnteredControlPointSelected.get();
- set_visible(true);
- } else {
- color = ARDOUR_UI::config()->canvasvar_EnteredControlPointOutline.get();
- if (hide_too) {
- set_visible(false);
- }
- }
-
+ if (_selected) {
+ color = ARDOUR_UI::config()->canvasvar_ControlPointSelected.get();
} else {
- if (_selected) {
- color = ARDOUR_UI::config()->canvasvar_ControlPointSelected.get();
- set_visible(true);
- } else {
- color = ARDOUR_UI::config()->canvasvar_ControlPointOutline.get();
- if (hide_too) {
- set_visible(false);
- }
- }
+ color = ARDOUR_UI::config()->canvasvar_ControlPointOutline.get();
}
_item->property_outline_color_rgba() = color;
ControlPoint::set_size (double sz)
{
_size = sz;
-
-#if 0
- if (_size > 6.0) {
- item->property_fill() = (gboolean) TRUE;
- } else {
- item->property_fill() = (gboolean) FALSE;
- }
-#endif
-
move_to (_x, _y, _shape);
}
_shape = shape;
}
+void
+ControlPoint::i2w (double& x, double& y) const
+{
+ _item->i2w (x, y);
+}