Move ARDOUR_UI::ui_scale into UIConfiguration class
authorTim Mayberry <mojofunk@gmail.com>
Wed, 29 Apr 2015 11:30:07 +0000 (21:30 +1000)
committerPaul Davis <paul@linuxaudiosystems.com>
Wed, 16 Sep 2015 20:55:17 +0000 (16:55 -0400)
22 files changed:
gtk2_ardour/ardour_button.cc
gtk2_ardour/ardour_knob.cc
gtk2_ardour/ardour_ui.cc
gtk2_ardour/ardour_ui.h
gtk2_ardour/ardour_ui2.cc
gtk2_ardour/ardour_ui_dialogs.cc
gtk2_ardour/ardour_ui_options.cc
gtk2_ardour/editor.cc
gtk2_ardour/gain_meter.cc
gtk2_ardour/level_meter.cc
gtk2_ardour/marker.cc
gtk2_ardour/meter_patterns.cc
gtk2_ardour/meter_strip.cc
gtk2_ardour/mixer_strip.cc
gtk2_ardour/monitor_section.cc
gtk2_ardour/mono_panner.cc
gtk2_ardour/panner_ui.cc
gtk2_ardour/processor_box.cc
gtk2_ardour/stereo_panner.cc
gtk2_ardour/time_axis_view.cc
gtk2_ardour/ui_config.cc
gtk2_ardour/ui_config.h

index 7dca32e6892590b50bcd1ea2f0515e403a101534..69229f63321cf71e6a49fcb4a8391cb42f75c06b 100644 (file)
@@ -208,7 +208,7 @@ ArdourButton::render (cairo_t* cr, cairo_rectangle_t *)
        uint32_t text_color;
        uint32_t led_color;
 
-       const float corner_radius = std::max(2.f, _corner_radius * ARDOUR_UI::ui_scale);
+       const float corner_radius = std::max(2.f, _corner_radius * ARDOUR_UI::config()->get_ui_scale());
 
        if (_update_colors) {
                set_colors ();
@@ -440,12 +440,12 @@ ArdourButton::render (cairo_t* cr, cairo_rectangle_t *)
 
                //black ring
                cairo_set_source_rgb (cr, 0, 0, 0);
-               cairo_arc (cr, 0, 0, _diameter * .5 - 1 * ARDOUR_UI::ui_scale, 0, 2 * M_PI);
+               cairo_arc (cr, 0, 0, _diameter * .5 - 1 * ARDOUR_UI::config()->get_ui_scale(), 0, 2 * M_PI);
                cairo_fill(cr);
 
                //led color
                ArdourCanvas::set_source_rgba (cr, led_color);
-               cairo_arc (cr, 0, 0, _diameter * .5 - 3 * ARDOUR_UI::ui_scale, 0, 2 * M_PI);
+               cairo_arc (cr, 0, 0, _diameter * .5 - 3 * ARDOUR_UI::config()->get_ui_scale(), 0, 2 * M_PI);
                cairo_fill(cr);
 
                cairo_restore (cr);
@@ -527,7 +527,7 @@ ArdourButton::on_size_request (Gtk::Requisition* req)
        CairoWidget::on_size_request (req);
 
        if (_diameter == 0) {
-               const float newdia = rintf (11.f * ARDOUR_UI::ui_scale);
+               const float newdia = rintf (11.f * ARDOUR_UI::config()->get_ui_scale());
                if (_diameter != newdia) {
                        _pattern_height = 0;
                        _diameter = newdia;
index 5cb671b4652f92251e2a956df2ae3064d261c69d..bca5e286615a2c091f20a61f980b08619de7107e 100644 (file)
@@ -330,7 +330,7 @@ ArdourKnob::on_motion_notify_event (GdkEventMotion *ev)
 
 
        //scale the adjustment based on keyboard modifiers & GUI size
-       const float ui_scale = max (1.f, ARDOUR_UI::ui_scale);
+       const float ui_scale = max (1.f, ARDOUR_UI::config()->get_ui_scale());
        float scale = 0.0025 / ui_scale;
 
        if (ev->state & Keyboard::GainFineScaleModifier) {
index 5486daf431e367b1537412a326f2b51212fc4ed6..6b0d8a3c2f55e7bea4f71f6ecbd419fe4a2a6bea 100644 (file)
@@ -166,8 +166,6 @@ ARDOUR_UI *ARDOUR_UI::theArdourUI = 0;
 sigc::signal<void, framepos_t, bool, framepos_t> ARDOUR_UI::Clock;
 sigc::signal<void>      ARDOUR_UI::CloseAllDialogs;
 
-float ARDOUR_UI::ui_scale = 1.0;
-
 static bool
 ask_about_configuration_copy (string const & old_dir, string const & new_dir, int version)
 {
index 1ae81f54f1b88aec425bdc1bf47be068377eba61..f2ad1bb0d60fc5686a5120deb71d23d92d26a346 100644 (file)
@@ -186,7 +186,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
 
        static ARDOUR_UI *instance () { return theArdourUI; }
        static UIConfiguration *config () { return theArdourUI->ui_config; }
-       static float ui_scale;
        
        PublicEditor&     the_editor() { return *editor;}
        Mixer_UI* the_mixer() { return mixer; }
index 172e45d4e75cacc07079ce54615835278792653f..6a15ec8ea0ad34ec603bfb885f3d1113230f47e5 100644 (file)
@@ -216,7 +216,7 @@ ARDOUR_UI::tearoff_settings (const char* name) const
        return 0;
 }
 
-#define PX_SCALE(px) std::max((float)px, rintf((float)px * ARDOUR_UI::ui_scale))
+#define PX_SCALE(px) std::max((float)px, rintf((float)px * ARDOUR_UI::config()->get_ui_scale()))
 
 void
 ARDOUR_UI::setup_transport ()
index 7d7ee7d60b0df2cf74b8e3f6016bba193134903e..7de91bc5aead90155c6c2824300870040bc0cc50 100644 (file)
@@ -223,7 +223,7 @@ ARDOUR_UI::set_session (Session *s)
 
                editor_meter_peak_display.set_name ("meterbridge peakindicator");
                editor_meter_peak_display.unset_flags (Gtk::CAN_FOCUS);
-               editor_meter_peak_display.set_size_request (std::max(9.f, rintf(8.f * ui_scale)), -1);
+               editor_meter_peak_display.set_size_request (std::max(9.f, rintf(8.f * ARDOUR_UI::config()->get_ui_scale())), -1);
                editor_meter_peak_display.set_corner_radius (3.0);
 
                editor_meter_max_peak = -INFINITY;
index 0c59a6621343ec601256785bff69e7207f617ddb..a4fcd89b595d3196ae1254d2ed80ba63f2a1ccad 100644 (file)
@@ -423,8 +423,6 @@ ARDOUR_UI::parameter_changed (std::string p)
                                ? ArdourCanvas::WaveView::Rectified : ArdourCanvas::WaveView::Normal);
        } else if (p == "show-waveform-clipping") {
                ArdourCanvas::WaveView::set_global_show_waveform_clipping (ARDOUR_UI::config()->get_show_waveform_clipping());
-       } else if (p == "font-scale") {
-               ui_scale = config()->get_font_scale () / 102400.;
        } else if (p == "waveform-cache-size") {
                /* GUI option has units of megabytes; image cache uses units of bytes */
                ArdourCanvas::WaveView::set_image_cache_size (ARDOUR_UI::config()->get_waveform_cache_size() * 1048576);
index e69c28609eede3fb5410a20ab42a7aa2542fc806..0a51b0ee09c913fdd20a11f7a9b982b3b81ec291 100644 (file)
@@ -414,7 +414,7 @@ Editor::Editor ()
 
        samples_per_pixel = 2048; /* too early to use reset_zoom () */
 
-       timebar_height = std::max(12., ceil (15. * ARDOUR_UI::ui_scale));
+       timebar_height = std::max(12., ceil (15. * ARDOUR_UI::config()->get_ui_scale()));
        TimeAxisView::setup_sizes ();
        ArdourMarker::setup_sizes (timebar_height);
 
index 34bbc95cbcf9f1e96548da8a0ee63f058f57e228..956b25b6df829a31162d7315415a365e29c12976 100644 (file)
@@ -100,8 +100,8 @@ GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length, int
        next_release_selects = false;
        _width = Wide;
 
-       fader_length = rint (fader_length * ARDOUR_UI::ui_scale);
-       fader_girth = rint (fader_girth * ARDOUR_UI::ui_scale);
+       fader_length = rint (fader_length * ARDOUR_UI::config()->get_ui_scale());
+       fader_girth = rint (fader_girth * ARDOUR_UI::config()->get_ui_scale());
 
        if (horizontal) {
                gain_slider = manage (new HSliderController (&gain_adjustment, boost::shared_ptr<PBD::Controllable>(), fader_length, fader_girth));
@@ -935,7 +935,7 @@ GainMeterBase::redraw_metrics()
        meter_ticks2_area.queue_draw ();
 }
 
-#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * ARDOUR_UI::ui_scale))
+#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * ARDOUR_UI::config()->get_ui_scale()))
 
 GainMeter::GainMeter (Session* s, int fader_length)
        : GainMeterBase (s, false, fader_length, 24)
index ba8113d4c234989c47070e7cc1d0d1969c5bc111..4b06675d46ddbc1d4bae4ceeaa7d01b8cc14ad18 100644 (file)
@@ -260,7 +260,7 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width)
                width = thin_meter_width;
        }
 
-       width = rint (width * ARDOUR_UI::ui_scale);
+       width = rint (width * ARDOUR_UI::config()->get_ui_scale());
 
        if (   meters.size() > 0
            && nmeters == visible_meter_count
index 0c7376934cb1bed5e31b5914a9c959e2eb168d87..49b4f2c1b07526f8658cd77f024680087d9fd68b 100644 (file)
@@ -77,8 +77,8 @@ ArdourMarker::ArdourMarker (PublicEditor& ed, ArdourCanvas::Container& parent, g
 {
 
        const double MH = marker_height - 1;
-       const double M3 = std::max(1.f, rintf(3.f * ARDOUR_UI::ui_scale));
-       const double M6 = std::max(2.f, rintf(6.f * ARDOUR_UI::ui_scale));
+       const double M3 = std::max(1.f, rintf(3.f * ARDOUR_UI::config()->get_ui_scale()));
+       const double M6 = std::max(2.f, rintf(6.f * ARDOUR_UI::config()->get_ui_scale()));
 
        /* Shapes we use:
         *
@@ -403,7 +403,7 @@ ArdourMarker::setup_name_display ()
                limit = _right_label_limit;
        }
 
-       const float padding =  std::max(2.f, rintf(2.f * ARDOUR_UI::ui_scale));
+       const float padding =  std::max(2.f, rintf(2.f * ARDOUR_UI::config()->get_ui_scale()));
 
        /* Work out how wide the name can be */
        int name_width = min ((double) pixel_width (_name, name_font) + padding, limit);
index b9653e6ab34e01a5651080c1eb27f1ac8e236c13..4cf184987a851f6206bd20ea2b58c3fd36f2760c 100644 (file)
@@ -304,7 +304,7 @@ meter_render_ticks (Gtk::Widget& w, MeterType type, vector<ARDOUR::DataType> typ
 
        float box_l=0;
        float box_w=0;
-#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * ARDOUR_UI::ui_scale))
+#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * ARDOUR_UI::config()->get_ui_scale()))
        if (tickleft) {
                if (w.get_name().substr(0, 3) == "Bar") {
                        box_w = PX_SCALE(2, 2);
@@ -641,7 +641,7 @@ meter_render_metrics (Gtk::Widget& w, MeterType type, vector<DataType> types)
        const double fixfontsize = 1.0;
 #else
        // counter-act global font-scaling.
-       const double fixfontsize = std::min(1.0, 0.9 / sqrtf(ARDOUR_UI::ui_scale));
+       const double fixfontsize = std::min(1.0, 0.9 / sqrtf(ARDOUR_UI::config()->get_ui_scale()));
 #endif
 
        font.set_weight (Pango::WEIGHT_NORMAL);
index cd33ba345beb1dadf86325009e26ab15321b0cdd..3279bd64e1498fdf92daf80dbb984a969f24a730 100644 (file)
@@ -58,7 +58,7 @@ PBD::Signal1<void,MeterStrip*> MeterStrip::CatchDeletion;
 PBD::Signal0<void> MeterStrip::MetricChanged;
 PBD::Signal0<void> MeterStrip::ConfigurationChanged;
 
-#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * ARDOUR_UI::ui_scale))
+#define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * ARDOUR_UI::config()->get_ui_scale()))
 
 MeterStrip::MeterStrip (int metricmode, MeterType mt)
        : AxisView(0)
@@ -544,8 +544,8 @@ MeterStrip::on_size_allocate (Gtk::Allocation& a)
                tnh = 4 + std::max(2u, _session->track_number_decimals()) * 8; // TODO 8 = max_with_of_digit_0_to_9()
        }
 
-       nh *= ARDOUR_UI::ui_scale;
-       tnh *= ARDOUR_UI::ui_scale;
+       nh *= ARDOUR_UI::config()->get_ui_scale();
+       tnh *= ARDOUR_UI::config()->get_ui_scale();
 
        int prev_height, ignored;
        bool need_relayout = false;
@@ -810,7 +810,7 @@ MeterStrip::name_changed () {
                }
                const int tnh = 4 + std::max(2u, _session->track_number_decimals()) * 8; // TODO 8 = max_width_of_digit_0_to_9()
                // NB numbers are rotated 90deg. on the meterbridge -> use height
-               number_label.set_size_request(PX_SCALE(18, 18), tnh * ARDOUR_UI::ui_scale);
+               number_label.set_size_request(PX_SCALE(18, 18), tnh * ARDOUR_UI::config()->get_ui_scale());
        } else {
                number_label.hide();
        }
index 5054c5e2d41a5fb563ea3bde50113d9651588fac..64f4a64c310e125e1d775fc47de32e48faf20a8c 100644 (file)
@@ -257,7 +257,7 @@ MixerStrip::init ()
        _comment_button.signal_clicked.connect (sigc::mem_fun (*this, &RouteUI::toggle_comment_editor));
 
        // TODO implement ArdourKnob::on_size_request properly
-#define PX_SCALE(px) std::max((float)px, rintf((float)px * ARDOUR_UI::ui_scale))
+#define PX_SCALE(px) std::max((float)px, rintf((float)px * ARDOUR_UI::config()->get_ui_scale()))
        trim_control.set_size_request (PX_SCALE(19), PX_SCALE(19));
 #undef PX_SCALE
        trim_control.set_tooltip_prefix (_("Trim: "));
@@ -703,7 +703,7 @@ MixerStrip::set_width_enum (Width w, void* owner)
 
        set_button_names ();
 
-       const float scale = std::max(1.f, ARDOUR_UI::ui_scale);
+       const float scale = std::max(1.f, ARDOUR_UI::config()->get_ui_scale());
 
        switch (w) {
        case Wide:
index 5a09311d262c0e9f9e1537e8774d157d3aeee9d6..9ee8a875411fbedd3e2ea458220ee9f2d676941a 100644 (file)
@@ -55,7 +55,7 @@ using namespace std;
 
 Glib::RefPtr<ActionGroup> MonitorSection::monitor_actions;
 
-#define PX_SCALE(px) std::max((float)px, rintf((float)px * ARDOUR_UI::ui_scale))
+#define PX_SCALE(px) std::max((float)px, rintf((float)px * ARDOUR_UI::config()->get_ui_scale()))
 
 MonitorSection::MonitorSection (Session* s)
        : AxisView (s)
index 496f67d0073caef0a7e9c7f3856b7c6fb69aaa49..991481a0c6e8fd95830d940e73f3f2a5b40d4172 100644 (file)
@@ -138,7 +138,7 @@ MonoPanner::on_expose_event (GdkEventExpose*)
        const int lr_box_size = height - 2 * step_down;
        const int pos_box_size = (int)(rint(step_down * .8)) | 1;
        const int top_step = step_down - pos_box_size;
-       const double corner_radius = 5 * ARDOUR_UI::ui_scale;
+       const double corner_radius = 5 * ARDOUR_UI::config()->get_ui_scale();
 
        o = colors.outline;
        f = colors.fill;
@@ -253,8 +253,8 @@ MonoPanner::on_expose_event (GdkEventExpose*)
        context->set_line_width (2.0);
        context->move_to (spos + (pos_box_size/2.0), top_step); /* top right */
        context->rel_line_to (0.0, pos_box_size); /* lower right */
-       context->rel_line_to (-pos_box_size/2.0, 4.0 * ARDOUR_UI::ui_scale); /* bottom point */
-       context->rel_line_to (-pos_box_size/2.0, -4.0 * ARDOUR_UI::ui_scale); /* lower left */
+       context->rel_line_to (-pos_box_size/2.0, 4.0 * ARDOUR_UI::config()->get_ui_scale()); /* bottom point */
+       context->rel_line_to (-pos_box_size/2.0, -4.0 * ARDOUR_UI::config()->get_ui_scale()); /* lower left */
        context->rel_line_to (0.0, -pos_box_size); /* upper left */
        context->close_path ();
 
@@ -266,7 +266,7 @@ MonoPanner::on_expose_event (GdkEventExpose*)
 
        /* marker line */
        context->set_line_width (1.0);
-       context->move_to (spos, 1 + top_step + pos_box_size + 4.0 * ARDOUR_UI::ui_scale);
+       context->move_to (spos, 1 + top_step + pos_box_size + 4.0 * ARDOUR_UI::config()->get_ui_scale());
        context->line_to (spos, half_lr_box + step_down + lr_box_size - 1);
        context->set_source_rgba (UINT_RGBA_R_FLT(po), UINT_RGBA_G_FLT(po), UINT_RGBA_B_FLT(po), UINT_RGBA_A_FLT(po));
        context->stroke ();
index 9d40a90a9353b14d72551c3b8f3f6310293a967a..4130559204a43516b22b45648a9a0a99b5f88824 100644 (file)
@@ -240,7 +240,7 @@ PannerUI::setup_pan ()
                return;
        }
 
-       const float scale = std::max (1.f, ARDOUR_UI::ui_scale);
+       const float scale = std::max (1.f, ARDOUR_UI::config()->get_ui_scale());
 
        if (_current_uri == "http://ardour.org/plugin/panner_2in2out#ui")
        {
index 8a913641a36f2eded59c48323ccd0bc69b6d3248..6ceda3b8d86716f3be54753d131707e6df2ee351 100644 (file)
@@ -510,7 +510,7 @@ ProcessorEntry::toggle_panner_link ()
 ProcessorEntry::Control::Control (boost::shared_ptr<AutomationControl> c, string const & n)
        : _control (c)
        , _adjustment (gain_to_slider_position_with_max (1.0, Config->get_max_gain()), 0, 1, 0.01, 0.1)
-       , _slider (&_adjustment, boost::shared_ptr<PBD::Controllable>(), 0, max(13.f, rintf(13.f * ARDOUR_UI::ui_scale)))
+       , _slider (&_adjustment, boost::shared_ptr<PBD::Controllable>(), 0, max(13.f, rintf(13.f * ARDOUR_UI::config()->get_ui_scale())))
        , _slider_persistant_tooltip (&_slider)
        , _button (ArdourButton::led_default_elements)
        , _ignore_ui_adjustment (false)
@@ -792,7 +792,7 @@ PluginInsertProcessorEntry::plugin_insert_splitting_changed ()
 
        if (_plugin_insert->splitting () ||  in != sinks)
        {
-               _routing_icon.set_size_request (-1, std::max (7.f, rintf(7.f * ARDOUR_UI::ui_scale)));
+               _routing_icon.set_size_request (-1, std::max (7.f, rintf(7.f * ARDOUR_UI::config()->get_ui_scale())));
                _routing_icon.set_visible(true);
                _input_icon.show();
        } else {
@@ -817,7 +817,7 @@ PluginInsertProcessorEntry::hide_things ()
 ProcessorEntry::PortIcon::PortIcon(bool input) {
        _input = input;
        _ports = ARDOUR::ChanCount(ARDOUR::DataType::AUDIO, 1);
-       set_size_request (-1, std::max (2.f, rintf(2.f * ARDOUR_UI::ui_scale)));
+       set_size_request (-1, std::max (2.f, rintf(2.f * ARDOUR_UI::config()->get_ui_scale())));
 }
 
 bool
@@ -838,7 +838,7 @@ ProcessorEntry::PortIcon::on_expose_event (GdkEventExpose* ev)
        cairo_rectangle (cr, 0, 0, width, height);
        cairo_fill (cr);
 
-       const double dx = rint(max(2., 2. * ARDOUR_UI::ui_scale));
+       const double dx = rint(max(2., 2. * ARDOUR_UI::config()->get_ui_scale()));
        if (_ports.n_total() > 1) {
                for (uint32_t i = 0; i < _ports.n_total(); ++i) {
                        if (i < _ports.n_midi()) {
@@ -886,7 +886,7 @@ ProcessorEntry::RoutingIcon::on_expose_event (GdkEventExpose* ev)
        cairo_rectangle (cr, ev->area.x, ev->area.y, ev->area.width, ev->area.height);
        cairo_clip (cr);
 
-       cairo_set_line_width (cr, max (1.f, ARDOUR_UI::ui_scale));
+       cairo_set_line_width (cr, max (1.f, ARDOUR_UI::config()->get_ui_scale()));
        cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
 
        Gtk::Allocation a = get_allocation();
@@ -936,7 +936,7 @@ ProcessorEntry::RoutingIcon::on_expose_event (GdkEventExpose* ev)
                cairo_curve_to (cr, si_x, 0, si_x0, height, si_x0, 0);
                cairo_stroke (cr);
        } else if (midi_sources == 0 && midi_sinks == 1) {
-               const double dx = 1 + rint(max(2., 2. * ARDOUR_UI::ui_scale));
+               const double dx = 1 + rint(max(2., 2. * ARDOUR_UI::config()->get_ui_scale()));
                // draw "T"
                //  TODO connect back to track-input of last midi-out if any, otherwise draw "X"
                const float si_x  = rintf(width * .2f) + .5f;
index cdd4d94f184b28e38d0f0c24c6bde63e0d69fe8a..6fa8241eb16870a613eed52b26c1ba31cb9f00ca 100644 (file)
@@ -151,7 +151,7 @@ StereoPanner::on_expose_event (GdkEventExpose*)
        height = get_height ();
 
        const int step_down = rint(height / 3.5);
-       const double corner_radius = 5.0 * ARDOUR_UI::ui_scale;
+       const double corner_radius = 5.0 * ARDOUR_UI::config()->get_ui_scale();
        const int lr_box_size = height - 2 * step_down;
        const int pos_box_size = (int)(rint(step_down * .8)) | 1;
        const int top_step = step_down - pos_box_size;
index d4c1dbf50831100b11535adc2981f381bfcd85ef..41c41ae4c32858b5c40b92471a4874a6a9be8a49 100644 (file)
@@ -82,7 +82,7 @@ Glib::RefPtr<Gtk::SizeGroup> TimeAxisView::midi_scroomer_size_group = Glib::RefP
 void
 TimeAxisView::setup_sizes()
 {
-       name_width_px = ceilf (100.f * ARDOUR_UI::ui_scale);
+       name_width_px = ceilf (100.f * ARDOUR_UI::config()->get_ui_scale());
 }
 
 TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisView* rent, Canvas& /*canvas*/)
index 8e6c03a9802180b01092a86d70694f5b637f41b8..cc8a737cd9434d75d28ee963b88f00fd8c370acc 100644 (file)
@@ -180,6 +180,12 @@ UIConfiguration::set_pango_fontsize ()
        pango_cairo_font_map_set_resolution ((PangoCairoFontMap*) pango_cairo_font_map_get_default(), val/1024);
 }
 
+float
+UIConfiguration::get_ui_scale ()
+{
+       return get_font_scale () / 102400.;
+}
+
 void
 UIConfiguration::map_parameters (boost::function<void (std::string)>& functor)
 {
index bd6017315804ec0202b5ac5d9c2adc17a566ec27..0a6e7cda5dcce28693f97c79a14b9a6fbecd6c6e 100644 (file)
@@ -80,10 +80,12 @@ class UIConfiguration : public PBD::Stateful
 
        void reset_dpi ();
        void set_pango_fontsize ();
+
+       float get_ui_scale ();
                
        static sigc::signal<void>  DPIReset;
 
-        sigc::signal<void,std::string> ParameterChanged;
+       sigc::signal<void,std::string> ParameterChanged;
        void map_parameters (boost::function<void (std::string)>&);
 
        void parameter_changed (std::string);