summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-12-28 15:01:49 +0100
committerRobin Gareus <robin@gareus.org>2014-12-28 15:01:49 +0100
commitc14f6c59dbb3d163d901a1da169c7838ed39ea04 (patch)
tree2a9fd0ed0535d17a7ad1575bcc87b60d76f9928b
parentc2eea34fb0b419405e24d67f77ce3464ac95c0a6 (diff)
apply font-scale to overall layout (rulers, track-header) - fixes #6088
-rw-r--r--gtk2_ardour/editor.cc6
-rw-r--r--gtk2_ardour/editor.h2
-rw-r--r--gtk2_ardour/marker.cc7
-rw-r--r--gtk2_ardour/marker.h2
-rw-r--r--gtk2_ardour/time_axis_view.cc8
-rw-r--r--gtk2_ardour/time_axis_view.h2
6 files changed, 23 insertions, 4 deletions
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<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)
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<void,Marker*> 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<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)
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<void,TimeAxisView*> CatchDeletion;
+ static void setup_sizes ();
+
/** @return index of this TimeAxisView within its parent */
int order () const { return _order; }