apply font-scale to overall layout (rulers, track-header) - fixes #6088
authorRobin Gareus <robin@gareus.org>
Sun, 28 Dec 2014 14:01:49 +0000 (15:01 +0100)
committerRobin Gareus <robin@gareus.org>
Sun, 28 Dec 2014 14:01:49 +0000 (15:01 +0100)
gtk2_ardour/editor.cc
gtk2_ardour/editor.h
gtk2_ardour/marker.cc
gtk2_ardour/marker.h
gtk2_ardour/time_axis_view.cc
gtk2_ardour/time_axis_view.h

index 58f3da9d96c888612824266a2cd1456d5cc84455..a681dd44dad65b88952c06eff98522564f9c48f2 100644 (file)
@@ -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");
index 67f1d0824f262bf4678d20aa2d014632d1075afc..ce5aa8bde4288a4c6050597e88ecc3a9b0b80516 100644 (file)
@@ -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;
 
index 33135181d5392324d6ebcae4e301291b5a15dc5e..77f1f9273755f7066b8eb09050b0764a2b84343c 100644 (file)
@@ -52,7 +52,12 @@ using namespace Gtkmm2ext;
 
 PBD::Signal1<void,Marker*> 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)
index 3a3339d31881370d33a90495a2f590a37b6e5a22..daa44bf0faf8e8c06b4852d825d2c17ea4382385 100644 (file)
@@ -63,6 +63,8 @@ class Marker : public sigc::trackable
 
        static PBD::Signal1<void,Marker*> CatchDeletion;
 
+       static void setup_sizes (const double timebar_height);
+
        ArdourCanvas::Item& the_item() const;
 
        void set_selected (bool);
index 4f332c196ffab667e2e7e7aedf7e24f35d0c544b..648d2521ebf8cbd7d2aca417e908de1ed09cb188 100644 (file)
@@ -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<void,TimeAxisView*> TimeAxisView::CatchDeletion;
 Glib::RefPtr<Gtk::SizeGroup> TimeAxisView::controls_meters_size_group = Glib::RefPtr<Gtk::SizeGroup>();
 Glib::RefPtr<Gtk::SizeGroup> TimeAxisView::midi_scroomer_size_group = Glib::RefPtr<Gtk::SizeGroup>();
 
+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)
index 7ea0f580f51fa7bd4d7bb95d547af6be9e12ab74..7935d4025db3d91470799df3bac0bdc12aab641c 100644 (file)
@@ -100,6 +100,8 @@ class TimeAxisView : public virtual AxisView
 
        static PBD::Signal1<void,TimeAxisView*> CatchDeletion;
 
+       static void setup_sizes ();
+
        /** @return index of this TimeAxisView within its parent */
        int order () const { return _order; }