add translucent "shade" to playhead cursor (may remove this in the future)

git-svn-id: svn://localhost/ardour2/branches/3.0@13048 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2012-07-17 13:02:57 +00:00
parent 3c252e9321
commit 0f9dab42d9
3 changed files with 13 additions and 2 deletions

View File

@ -93,7 +93,7 @@ AutomationLine::AutomationLine (const string& name, TimeAxisView& tv, ArdourCanv
group->property_y() = 0.0;
line = new ArdourCanvas::Line (*group);
line->property_width_pixels() = (guint)1;
line->property_width_pixels() = (guint)3;
line->set_data ("line", this);
line->signal_event().connect (sigc::mem_fun (*this, &AutomationLine::event_handler));

View File

@ -22,6 +22,8 @@
#include <libgnomecanvas/libgnomecanvas.h>
#include "gtkmm2ext/rgb_macros.h"
#include "utils.h"
#include "editor_cursors.h"
#include "editor.h"
@ -32,6 +34,7 @@ using namespace Gtk;
EditorCursor::EditorCursor (Editor& ed, bool (Editor::*callbck)(GdkEvent*,ArdourCanvas::Item*))
: editor (ed),
shade (*editor.cursor_group),
canvas_item (*editor.cursor_group),
length(1.0)
{
@ -46,6 +49,10 @@ EditorCursor::EditorCursor (Editor& ed, bool (Editor::*callbck)(GdkEvent*,Ardour
canvas_item.property_arrow_shape_b() = 0.0;
canvas_item.property_arrow_shape_c() = 9.0;
shade.property_points() = points;
shade.property_width_pixels() = 7;
shade.property_fill_color_rgba() = RGBA_TO_UINT (255, 255, 255, 75);
canvas_item.set_data ("cursor", this);
canvas_item.signal_event().connect (sigc::bind (sigc::mem_fun (ed, callbck), &canvas_item));
current_frame = 1; /* force redraw at 0 */
@ -69,6 +76,7 @@ EditorCursor::set_position (framepos_t frame)
points.back().set_x (new_pos);
canvas_item.property_points() = points;
shade.property_points() = points;
}
current_frame = frame;
}
@ -79,6 +87,7 @@ EditorCursor::set_length (double units)
length = units;
points.back().set_y (points.front().get_y() + length);
canvas_item.property_points() = points;
shade.property_points() = points;
}
void
@ -87,4 +96,5 @@ EditorCursor::set_y_axis (double position)
points.front().set_y (position);
points.back().set_y (position + length);
canvas_item.property_points() = points;
shade.property_points() = points;
}

View File

@ -25,7 +25,8 @@ class EditorCursor {
public:
Editor& editor;
ArdourCanvas::Points points;
ArdourCanvas::Line canvas_item;
ArdourCanvas::Line shade;
ArdourCanvas::Line canvas_item;
framepos_t current_frame;
double length;