summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ui_config.cc
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2015-01-04 20:30:59 +0700
committerPaul Davis <paul@linuxaudiosystems.com>2015-09-16 16:55:17 -0400
commit2d47183dc962bddd2084676b59e9f2c4a0abe33b (patch)
treed4609aa55ef119d7b1b532618ff796ccdca1cdbf /gtk2_ardour/ui_config.cc
parent2e8af0c91725787bd1ab3c2bc2653e34abc36f9a (diff)
Move util functions into UIConfiguration as they depend on it anyway
Diffstat (limited to 'gtk2_ardour/ui_config.cc')
-rw-r--r--gtk2_ardour/ui_config.cc33
1 files changed, 32 insertions, 1 deletions
diff --git a/gtk2_ardour/ui_config.cc b/gtk2_ardour/ui_config.cc
index cc5e9900ac..5783e91bbe 100644
--- a/gtk2_ardour/ui_config.cc
+++ b/gtk2_ardour/ui_config.cc
@@ -29,6 +29,9 @@
#include <cairo/cairo.h>
+#include <pango/pangoft2.h> // for fontmap resolution control for GnomeCanvas
+#include <pango/pangocairo.h> // for fontmap resolution control for GnomeCanvas
+
#include <glibmm/miscutils.h>
#include <glib/gstdio.h>
@@ -142,7 +145,35 @@ UIConfiguration::reset_gtk_theme ()
Gtk::Settings::get_default()->property_gtk_color_scheme() = ss.str();
}
-
+
+void
+UIConfiguration::reset_dpi ()
+{
+ long val = get_font_scale();
+ set_pango_fontsize ();
+ /* Xft rendering */
+
+ gtk_settings_set_long_property (gtk_settings_get_default(),
+ "gtk-xft-dpi", val, "ardour");
+ ARDOUR_UI_UTILS::DPIReset(); //Emit Signal
+}
+
+void
+UIConfiguration::set_pango_fontsize ()
+{
+ long val = get_font_scale();
+
+ /* FT2 rendering - used by GnomeCanvas, sigh */
+
+#ifndef PLATFORM_WINDOWS
+ pango_ft2_font_map_set_resolution ((PangoFT2FontMap*) pango_ft2_font_map_new(), val/1024, val/1024);
+#endif
+
+ /* Cairo rendering, in case there is any */
+
+ pango_cairo_font_map_set_resolution ((PangoCairoFontMap*) pango_cairo_font_map_get_default(), val/1024);
+}
+
void
UIConfiguration::map_parameters (boost::function<void (std::string)>& functor)
{