Fix non-disappearing transport range bar drag rects, use physical_screen_height for some canvas items.

git-svn-id: svn://localhost/ardour2/branches/3.0@3930 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Nick Mainsbridge 2008-10-11 17:51:15 +00:00
parent 1f765c2ae2
commit 61b3131303
3 changed files with 9 additions and 17 deletions

View File

@ -1601,7 +1601,7 @@ public:
void new_transport_marker_menu_set_punch ();
void update_loop_range_view (bool visibility=false);
void update_punch_range_view (bool visibility=false);
gint new_transport_marker_menu_popdown (GdkEventAny*);
void new_transport_marker_menu_popdown ();
void marker_context_menu (GdkEventButton*, ArdourCanvas::Item*);
void tm_marker_context_menu (GdkEventButton*, ArdourCanvas::Item*);
void transport_marker_context_menu (GdkEventButton*, ArdourCanvas::Item*);

View File

@ -145,18 +145,18 @@ Editor::initialize_canvas ()
_master_group = new ArdourCanvas::Group (*track_canvas->root(), 0.0, 0.0);
transport_loop_range_rect = new ArdourCanvas::SimpleRect (*_master_group, 0.0, 0.0, 0.0, 0.0);
transport_loop_range_rect = new ArdourCanvas::SimpleRect (*_master_group, 0.0, 0.0, 0.0, physical_screen_width);
transport_loop_range_rect->property_outline_pixels() = 1;
transport_loop_range_rect->hide();
transport_punch_range_rect = new ArdourCanvas::SimpleRect (*_master_group, 0.0, 0.0, 0.0, 0.0);
transport_punch_range_rect = new ArdourCanvas::SimpleRect (*_master_group, 0.0, 0.0, 0.0, physical_screen_width);
transport_punch_range_rect->property_outline_pixels() = 0;
transport_punch_range_rect->hide();
/* a group to hold time (measure) lines */
time_line_group = new ArdourCanvas::Group (*_master_group, 0.0, 0.0);
range_marker_drag_rect = new ArdourCanvas::SimpleRect (*time_line_group, 0.0, 0.0, 0.0, 0.0);
range_marker_drag_rect = new ArdourCanvas::SimpleRect (*time_line_group, 0.0, 0.0, 0.0, physical_screen_width);
range_marker_drag_rect->hide ();
_trackview_group = new ArdourCanvas::Group (*_master_group, 0.0, 0.0);
@ -228,14 +228,14 @@ Editor::initialize_canvas ()
transport_punchin_line->property_x1() = 0.0;
transport_punchin_line->property_y1() = 0.0;
transport_punchin_line->property_x2() = 0.0;
transport_punchin_line->property_y2() = 0.0;
transport_punchin_line->property_y2() = physical_screen_width;
transport_punchin_line->hide ();
transport_punchout_line = new ArdourCanvas::SimpleLine (*_master_group);
transport_punchout_line->property_x1() = 0.0;
transport_punchout_line->property_y1() = 0.0;
transport_punchout_line->property_x2() = 0.0;
transport_punchout_line->property_y2() = 0.0;
transport_punchout_line->property_y2() = physical_screen_width;
transport_punchout_line->hide();
// used to show zoom mode active zooming
@ -341,12 +341,6 @@ Editor::track_canvas_size_allocated ()
(*x)->set_line_vpos (0, canvas_height);
}
// marker_drag_line_points.back().set_y(canvas_height);
range_marker_drag_rect->property_y2() = canvas_height;
transport_loop_range_rect->property_y2() = canvas_height;
transport_punch_range_rect->property_y2() = canvas_height;
transport_punchin_line->property_y2() = canvas_height;
transport_punchout_line->property_y2() = canvas_height;
}
horizontal_adjustment.set_upper (session->current_end_frame()/frames_per_unit);
horizontal_adjustment.set_page_size (current_page_frames()/frames_per_unit);

View File

@ -679,7 +679,7 @@ Editor::build_new_transport_marker_menu ()
items.push_back (MenuElem (_("Set Loop Range"), mem_fun(*this, &Editor::new_transport_marker_menu_set_loop)));
items.push_back (MenuElem (_("Set Punch Range"), mem_fun(*this, &Editor::new_transport_marker_menu_set_punch)));
new_transport_marker_menu->signal_unmap_event().connect ( mem_fun(*this, &Editor::new_transport_marker_menu_popdown));
new_transport_marker_menu->signal_unmap().connect ( mem_fun(*this, &Editor::new_transport_marker_menu_popdown));
}
void
@ -1090,14 +1090,12 @@ Editor::marker_menu_rename ()
commit_reversible_command ();
}
gint
Editor::new_transport_marker_menu_popdown (GdkEventAny *ev)
void
Editor::new_transport_marker_menu_popdown ()
{
// hide rects
transport_bar_drag_rect->hide();
range_marker_drag_rect->hide();
return FALSE;
}
void