apply font-scale to overall layout (rulers, track-header) - fixes #6088

This commit is contained in:
Robin Gareus 2014-12-28 15:01:49 +01:00
parent c2eea34fb0
commit c14f6c59db
6 changed files with 23 additions and 4 deletions

View 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");

View 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;

View 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)

View 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);

View 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)

View 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; }