add central API to calculate UI scaling
authorRobin Gareus <robin@gareus.org>
Wed, 22 Apr 2015 19:31:19 +0000 (21:31 +0200)
committerRobin Gareus <robin@gareus.org>
Wed, 22 Apr 2015 19:40:43 +0000 (21:40 +0200)
gtk2_ardour/ardour_ui.cc
gtk2_ardour/ardour_ui.h
gtk2_ardour/ardour_ui_options.cc

index 184c3a06c7b481fc846ca9d9df2c93754dd37a61..a1bd4646317d7bef3851e5639ebda33c74164ad7 100644 (file)
@@ -160,6 +160,7 @@ 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 c078422ef36c5610f9092e7c5a97757dc229850b..2bbd0f6b790737e52dcc3bf7e68500a7872a0da9 100644 (file)
@@ -185,6 +185,7 @@ 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 a354d47dfca60b4312a0a10f5d95010489af5c3c..f63dd46401ee94d3d330853ffe99d795dee24a98 100644 (file)
@@ -423,6 +423,8 @@ 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.;
        }
 }