an awful lot of tweaks to drawing details

This commit is contained in:
Paul Davis 2013-06-24 16:28:53 -04:00
parent 0ce393f051
commit a1f858d3b2
12 changed files with 169 additions and 130 deletions

View file

@ -45,11 +45,11 @@ EditorCursor::EditorCursor (Editor& ed, bool (Editor::*callbck)(GdkEvent*,Ardour
_time_bars_canvas_item.set_head_width (0, 16);
_time_bars_canvas_item.set_head_outward (0, false);
_time_bars_canvas_item.set_show_head (1, false); // head only
_time_bars_canvas_item.set_outline_width (1.5);
_time_bars_canvas_item.set_outline_width (0.5);
_time_bars_canvas_item.set_data ("cursor", this);
_track_canvas_item.set_data ("cursor", this);
_track_canvas_item.set_outline_width (1.5);
_track_canvas_item.set_outline_width (0.5);
_time_bars_canvas_item.Event.connect (sigc::bind (sigc::mem_fun (ed, callbck), &_time_bars_canvas_item));
_track_canvas_item.Event.connect (sigc::bind (sigc::mem_fun (ed, callbck), &_track_canvas_item));
@ -70,7 +70,11 @@ EditorCursor::set_position (framepos_t frame)
{
PositionChanged (frame);
double const new_pos = _editor.sample_to_pixel (frame);
/* See Cairo FAQ question on single pixel lines to understand
why we add 0.5
*/
double const new_pos = _editor.sample_to_pixel (frame) + 0.5;
if (new_pos != _time_bars_canvas_item.x ()) {
_time_bars_canvas_item.set_x (new_pos);