Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2012-10-26 15:36:39 (GMT)
committer Walter Bender <walter.bender@gmail.com>2012-10-26 15:36:39 (GMT)
commit22023100c39c213578f2889e60f546ce609dd368 (patch)
tree55263762ff60d148021ed0105e2433fe0f0b94b6
parent20d973f926f6c73d09cb064ccbb3d1e0dbd43a73 (diff)
tweak font scaling based on dpi
-rw-r--r--TurtleArt/tautils.py7
-rw-r--r--TurtleArt/tawindow.py10
2 files changed, 16 insertions, 1 deletions
diff --git a/TurtleArt/tautils.py b/TurtleArt/tautils.py
index 1d125a3..47f665f 100644
--- a/TurtleArt/tautils.py
+++ b/TurtleArt/tautils.py
@@ -687,3 +687,10 @@ def _get_dmi(node):
return open(path).readline().strip()
except:
return None
+
+
+def get_screen_dpi():
+ xft_dpi = Gtk.Settings.get_default().get_property('gtk-xft-dpi')
+ dpi = float(xft_dpi / 1024)
+ logging.error('Setting dpi to: %f', dpi)
+ return dpi
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py
index 84ae344..7d6db60 100644
--- a/TurtleArt/tawindow.py
+++ b/TurtleArt/tawindow.py
@@ -31,6 +31,7 @@ from gi.repository import Gtk
from gi.repository import Gdk
from gi.repository import GObject
from gi.repository import GdkPixbuf
+from gi.repository import PangoCairo
from gettext import gettext as _
import os
@@ -157,7 +158,7 @@ class TurtleArtWindow():
self.hw = get_hardware()
self.lead = 1.0
if self.hw in (XO1, XO15, XO175):
- self.scale = 1.2 # slight scale-up of fonts on XO
+ self.scale = 133. / 200 # Tweak scale of fonts on XO
if self.hw == XO1:
self.color_mode = '565'
else:
@@ -166,6 +167,8 @@ class TurtleArtWindow():
self.scale = 1.0
self.color_mode = '888' # TODO: Read visual mode from gtk image
+ self._set_screen_dpi()
+
self.block_scale = BLOCK_SCALE[3]
self.trash_scale = 0.5
self.myblock = {}
@@ -282,6 +285,11 @@ class TurtleArtWindow():
self.block_operation = ''
self.window_init_complete = True
+ def _set_screen_dpi(self):
+ dpi = _get_screen_dpi()
+ font_map_default = PangoCairo.font_map_get_default()
+ font_map_default.set_resolution(dpi)
+
def _get_plugin_home(self):
''' Look in the execution directory '''
path = os.path.join(self.path, self._PLUGIN_SUBPATH)