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 13:38:54 (GMT)
committer Walter Bender <walter.bender@gmail.com>2012-10-26 13:38:54 (GMT)
commit949e4d67298c9aad71ec1dcb846a9e04bab6eee2 (patch)
tree88a16233cc0fa0104fb7f60da3babfe913be6c36
parentd116dde43eb00276c1c5a33419baca67c8a0a70c (diff)
set dpi so font scaling works properly
-rw-r--r--PortfolioActivity.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/PortfolioActivity.py b/PortfolioActivity.py
index 8b4c4de..6b94235 100644
--- a/PortfolioActivity.py
+++ b/PortfolioActivity.py
@@ -16,6 +16,8 @@ from gi.repository import Gdk
from gi.repository import GdkPixbuf
from gi.repository import GObject
from gi.repository import Pango
+from gi.repository import PangoCairo
+
import subprocess
import os
import time
@@ -103,6 +105,13 @@ BOTTOM = 1
HIDE = 0
+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
+
+
class Slide():
''' A container for a slide '''
@@ -147,6 +156,8 @@ class PortfolioActivity(activity.Activity):
self._height = Gdk.Screen.height()
self._scale = Gdk.Screen.height() / 900.
+ self._set_screen_dpi()
+
self._titlewh = [self._width, TITLEH * self._scale]
self._titlexy = [0, 0]
self._previewwh = [PREVIEWW * self._scale, PREVIEWH * self._scale]
@@ -187,6 +198,11 @@ class PortfolioActivity(activity.Activity):
self._setup_presence_service()
+ def _set_screen_dpi(self):
+ dpi = _get_screen_dpi()
+ font_map_default = PangoCairo.font_map_get_default()
+ font_map_default.set_resolution(dpi)
+
def _fixed_resize_cb(self, widget=None, rect=None):
''' If a toolbar opens or closes, we need to resize the vbox
holding out scrolling window. '''
@@ -889,7 +905,8 @@ class PortfolioActivity(activity.Activity):
self.desc_entry.set_pixels_above_lines(4)
self.desc_entry.override_background_color(
Gtk.StateType.NORMAL, Gdk.RGBA(0, 0, 0, 0))
- font_desc = Pango.font_description_from_string ('16')
+ font_desc = Pango.font_description_from_string(
+ str(self._descriptionf * self._scale))
self.desc_entry.modify_font(font_desc)
self.desc_buffer = self.desc_entry.get_buffer()
self.fixed.put(self.desc_entry, 0, 0)
@@ -908,7 +925,8 @@ class PortfolioActivity(activity.Activity):
self.title_entry.set_pixels_above_lines(4)
self.title_entry.override_background_color(
Gtk.StateType.NORMAL, Gdk.RGBA(0, 0, 0, 0))
- font_desc = Pango.font_description_from_string ('24')
+ font_desc = Pango.font_description_from_string(
+ str(self._titlef * self._scale))
self.title_entry.modify_font(font_desc)
self.title_buffer = self.title_entry.get_buffer()
self.fixed.put(self.title_entry, 0, 0)