From: Robin Gareus Date: Sun, 28 Dec 2014 14:01:49 +0000 (+0100) Subject: apply font-scale to overall layout (rulers, track-header) - fixes #6088 X-Git-Tag: 4.0-rc1~847 X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;h=c14f6c59dbb3d163d901a1da169c7838ed39ea04;p=ardour.git apply font-scale to overall layout (rulers, track-header) - fixes #6088 --- diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 58f3da9d96..a681dd44da 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -140,7 +140,7 @@ using PBD::internationalize; using PBD::atoi; using Gtkmm2ext::Keyboard; -const double Editor::timebar_height = 15.0; +double Editor::timebar_height = 15.0; static const gchar *_snap_type_strings[] = { N_("CD Frames"), @@ -405,6 +405,10 @@ Editor::Editor () samples_per_pixel = 2048; /* too early to use reset_zoom () */ + timebar_height = std::max(12., ceil (15. * ARDOUR_UI::config()->get_font_scale() / 102400.)); + TimeAxisView::setup_sizes (); + Marker::setup_sizes (timebar_height); + _scroll_callbacks = 0; bbt_label.set_name ("EditorRulerLabel"); diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 67f1d0824f..ce5aa8bde4 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -940,7 +940,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD ArdourCanvas::Ruler* samples_ruler; ArdourCanvas::Ruler* minsec_ruler; - static const double timebar_height; + static double timebar_height; guint32 visible_timebars; Gtk::Menu *editor_ruler_menu; diff --git a/gtk2_ardour/marker.cc b/gtk2_ardour/marker.cc index 33135181d5..77f1f92737 100644 --- a/gtk2_ardour/marker.cc +++ b/gtk2_ardour/marker.cc @@ -52,7 +52,12 @@ using namespace Gtkmm2ext; PBD::Signal1 Marker::CatchDeletion; -static const double marker_height = 13.0; +static double marker_height = 13.0; + +void Marker::setup_sizes(const double timebar_height) +{ + marker_height = floor (timebar_height) - 2; +} Marker::Marker (PublicEditor& ed, ArdourCanvas::Container& parent, guint32 rgba, const string& annotation, Type type, framepos_t frame, bool handle_events) diff --git a/gtk2_ardour/marker.h b/gtk2_ardour/marker.h index 3a3339d318..daa44bf0fa 100644 --- a/gtk2_ardour/marker.h +++ b/gtk2_ardour/marker.h @@ -63,6 +63,8 @@ class Marker : public sigc::trackable static PBD::Signal1 CatchDeletion; + static void setup_sizes (const double timebar_height); + ArdourCanvas::Item& the_item() const; void set_selected (bool); diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc index 4f332c196f..648d2521eb 100644 --- a/gtk2_ardour/time_axis_view.cc +++ b/gtk2_ardour/time_axis_view.cc @@ -74,11 +74,17 @@ const double trim_handle_size = 6.0; /* pixels */ uint32_t TimeAxisView::button_height = 0; uint32_t TimeAxisView::extra_height = 0; int const TimeAxisView::_max_order = 512; -unsigned int TimeAxisView::name_width_px = 100; // TODO adjust with font-scaling on style-change +unsigned int TimeAxisView::name_width_px = 100; PBD::Signal1 TimeAxisView::CatchDeletion; Glib::RefPtr TimeAxisView::controls_meters_size_group = Glib::RefPtr(); Glib::RefPtr TimeAxisView::midi_scroomer_size_group = Glib::RefPtr(); +void +TimeAxisView::setup_sizes() +{ + name_width_px = ceil (100. * ARDOUR_UI::config()->get_font_scale() / 102400.); +} + TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisView* rent, Canvas& /*canvas*/) : AxisView (sess) , controls_table (3, 3) diff --git a/gtk2_ardour/time_axis_view.h b/gtk2_ardour/time_axis_view.h index 7ea0f580f5..7935d4025d 100644 --- a/gtk2_ardour/time_axis_view.h +++ b/gtk2_ardour/time_axis_view.h @@ -100,6 +100,8 @@ class TimeAxisView : public virtual AxisView static PBD::Signal1 CatchDeletion; + static void setup_sizes (); + /** @return index of this TimeAxisView within its parent */ int order () const { return _order; }