remove line parent member from Marker
git-svn-id: svn://localhost/ardour2/branches/3.0@8359 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
6e0330a304
commit
92bd44e012
@ -45,12 +45,11 @@ using namespace Gtkmm2ext;
|
||||
|
||||
PBD::Signal1<void,Marker*> Marker::CatchDeletion;
|
||||
|
||||
Marker::Marker (PublicEditor& ed, ArdourCanvas::Group& parent, ArdourCanvas::Group& line_parent, guint32 rgba, const string& annotation,
|
||||
Marker::Marker (PublicEditor& ed, ArdourCanvas::Group& parent, guint32 rgba, const string& annotation,
|
||||
Type type, framepos_t frame, bool handle_events)
|
||||
|
||||
: editor (ed)
|
||||
, _parent (&parent)
|
||||
, _line_parent (&line_parent)
|
||||
, _line (0)
|
||||
, _type (type)
|
||||
, _selected (false)
|
||||
@ -313,24 +312,22 @@ Marker::setup_line ()
|
||||
|
||||
if (_line == 0) {
|
||||
|
||||
_line = new ArdourCanvas::SimpleLine (*_line_parent);
|
||||
_line = new ArdourCanvas::SimpleLine (*group);
|
||||
_line->property_color_rgba() = ARDOUR_UI::config()->canvasvar_EditPoint.get();
|
||||
|
||||
setup_line_x ();
|
||||
|
||||
_line->signal_event().connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_marker_event), mark, this));
|
||||
}
|
||||
|
||||
/* work out where to start the line from so that it extends from the top of the canvas */
|
||||
double yo = 0;
|
||||
if (!_selected) {
|
||||
/* work out where to start the line from so that it extends only as far as the mark */
|
||||
double x = 0;
|
||||
_parent->i2w (x, yo);
|
||||
_line_parent->w2i (x, yo);
|
||||
}
|
||||
double xo = 0;
|
||||
|
||||
_line->property_y1() = yo + 10;
|
||||
_line->property_y2() = yo + 10 + _canvas_height;
|
||||
_line->i2w (xo, yo);
|
||||
|
||||
_line->property_x1() = _shift;
|
||||
_line->property_x2() = _shift;
|
||||
_line->property_y1() = -yo; // zero in world coordinates, negative in item/parent coordinate space
|
||||
_line->property_y2() = -yo + _canvas_height;
|
||||
|
||||
_line->property_color_rgba() = _selected ? ARDOUR_UI::config()->canvasvar_EditPoint.get() : _color;
|
||||
_line->raise_to_top ();
|
||||
@ -406,15 +403,6 @@ Marker::setup_name_display ()
|
||||
_name_background->property_y2() = 13;
|
||||
}
|
||||
|
||||
void
|
||||
Marker::setup_line_x ()
|
||||
{
|
||||
if (_line) {
|
||||
_line->property_x1() = unit_position + _shift - 0.5;
|
||||
_line->property_x2() = unit_position + _shift - 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
Marker::set_position (framepos_t frame)
|
||||
{
|
||||
@ -423,8 +411,6 @@ Marker::set_position (framepos_t frame)
|
||||
group->move (new_unit_position - unit_position, 0.0);
|
||||
frame_position = frame;
|
||||
unit_position = new_unit_position;
|
||||
|
||||
setup_line_x ();
|
||||
}
|
||||
|
||||
void
|
||||
@ -460,12 +446,6 @@ Marker::set_color_rgba (uint32_t c)
|
||||
|
||||
if (_line && !_selected) {
|
||||
_line->property_color_rgba() = _color;
|
||||
|
||||
/* For reasons unknown this is necessary to ensure that the line colour
|
||||
gets updated.
|
||||
*/
|
||||
_line->hide ();
|
||||
_line->show ();
|
||||
}
|
||||
|
||||
_name_background->property_fill() = true;
|
||||
@ -505,9 +485,9 @@ Marker::set_right_label_limit (double p)
|
||||
|
||||
/***********************************************************************/
|
||||
|
||||
TempoMarker::TempoMarker (PublicEditor& editor, ArdourCanvas::Group& parent, ArdourCanvas::Group& line_parent, guint32 rgba, const string& text,
|
||||
TempoMarker::TempoMarker (PublicEditor& editor, ArdourCanvas::Group& parent, guint32 rgba, const string& text,
|
||||
ARDOUR::TempoSection& temp)
|
||||
: Marker (editor, parent, line_parent, rgba, text, Tempo, 0, false),
|
||||
: Marker (editor, parent, rgba, text, Tempo, 0, false),
|
||||
_tempo (temp)
|
||||
{
|
||||
set_position (_tempo.frame());
|
||||
@ -520,9 +500,9 @@ TempoMarker::~TempoMarker ()
|
||||
|
||||
/***********************************************************************/
|
||||
|
||||
MeterMarker::MeterMarker (PublicEditor& editor, ArdourCanvas::Group& parent, ArdourCanvas::Group& line_parent, guint32 rgba, const string& text,
|
||||
MeterMarker::MeterMarker (PublicEditor& editor, ArdourCanvas::Group& parent, guint32 rgba, const string& text,
|
||||
ARDOUR::MeterSection& m)
|
||||
: Marker (editor, parent, line_parent, rgba, text, Meter, 0, false),
|
||||
: Marker (editor, parent, rgba, text, Meter, 0, false),
|
||||
_meter (m)
|
||||
{
|
||||
set_position (_meter.frame());
|
||||
|
@ -56,7 +56,7 @@ class Marker : public sigc::trackable
|
||||
};
|
||||
|
||||
|
||||
Marker (PublicEditor& editor, ArdourCanvas::Group &, ArdourCanvas::Group &, guint32 rgba, const std::string& text, Type,
|
||||
Marker (PublicEditor& editor, ArdourCanvas::Group &, guint32 rgba, const std::string& text, Type,
|
||||
framepos_t frame = 0, bool handle_events = true);
|
||||
|
||||
virtual ~Marker ();
|
||||
@ -99,7 +99,6 @@ class Marker : public sigc::trackable
|
||||
Pango::FontDescription* name_font;
|
||||
|
||||
ArdourCanvas::Group* _parent;
|
||||
ArdourCanvas::Group* _line_parent;
|
||||
ArdourCanvas::Group *group;
|
||||
ArdourCanvas::Polygon *mark;
|
||||
ArdourCanvas::Pixbuf *name_pixbuf;
|
||||
@ -131,7 +130,7 @@ class Marker : public sigc::trackable
|
||||
class TempoMarker : public Marker
|
||||
{
|
||||
public:
|
||||
TempoMarker (PublicEditor& editor, ArdourCanvas::Group &, ArdourCanvas::Group &, guint32 rgba, const std::string& text, ARDOUR::TempoSection&);
|
||||
TempoMarker (PublicEditor& editor, ArdourCanvas::Group &, guint32 rgba, const std::string& text, ARDOUR::TempoSection&);
|
||||
~TempoMarker ();
|
||||
|
||||
ARDOUR::TempoSection& tempo() const { return _tempo; }
|
||||
@ -143,7 +142,7 @@ class TempoMarker : public Marker
|
||||
class MeterMarker : public Marker
|
||||
{
|
||||
public:
|
||||
MeterMarker (PublicEditor& editor, ArdourCanvas::Group &, ArdourCanvas::Group &, guint32 rgba, const std::string& text, ARDOUR::MeterSection&);
|
||||
MeterMarker (PublicEditor& editor, ArdourCanvas::Group &, guint32 rgba, const std::string& text, ARDOUR::MeterSection&);
|
||||
~MeterMarker ();
|
||||
|
||||
ARDOUR::MeterSection& meter() const { return _meter; }
|
||||
|
Loading…
Reference in New Issue
Block a user