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>2013-01-09 13:39:27 (GMT)
committer Walter Bender <walter.bender@gmail.com>2013-01-09 13:39:27 (GMT)
commit832f9890bb8be9fbeca038389f28ed91e2025af1 (patch)
treecd45d479c90e5fdd799875714847b3657f29b5fb
parent5855f4e9c87e74a8b310a542c1fd8b496622a030 (diff)
consider xo hardware when setting font sizes in PDF output
-rw-r--r--PortfolioActivity.py20
-rw-r--r--exportpdf.py17
2 files changed, 17 insertions, 20 deletions
diff --git a/PortfolioActivity.py b/PortfolioActivity.py
index ee504cf..9140a7a 100644
--- a/PortfolioActivity.py
+++ b/PortfolioActivity.py
@@ -91,10 +91,6 @@ UNIT_DICTIONARY = {TWO: (UNITS[TWO], 2),
TEN: (UNITS[TEN], 10),
THIRTY: (UNITS[THIRTY], 30),
SIXTY: (UNITS[SIXTY], 60)}
-XO1 = 'xo1'
-XO15 = 'xo1.5'
-XO175 = 'xo1.75'
-UNKNOWN = 'unknown'
# sprite layers
DRAG = 6
@@ -282,11 +278,11 @@ class PortfolioActivity(activity.Activity):
self._colors[1] = tmp
if self._hw[0:2] == 'xo':
- self._titlef = 18
- self._descriptionf = 12
+ self.title_size = 18
+ self.desc_size = 12
else:
- self._titlef = 36
- self._descriptionf = 24
+ self.title_size = 36
+ self.desc_size = 24
# Generate the sprites we'll need...
self._sprites = Sprites(self._canvas)
@@ -387,7 +383,7 @@ class PortfolioActivity(activity.Activity):
int(self._titlexy[1]),
svg_str_to_pixbuf(
genblank(self._titlewh[0], self._titlewh[1], self._colors)))
- self._title.set_label_attributes(int(self._titlef * self._scale),
+ self._title.set_label_attributes(int(self.title_size * self._scale),
rescale=False)
self._title.type = 'title'
@@ -399,7 +395,7 @@ class PortfolioActivity(activity.Activity):
int(self._descriptionwh[1]),
self._colors)))
self._description.set_label_attributes(
- int(self._descriptionf * self._scale), vert_align="top")
+ int(self.desc_size * self._scale), vert_align="top")
self._description.type = 'description'
self._my_canvas = Sprite(
@@ -911,7 +907,7 @@ class PortfolioActivity(activity.Activity):
self.desc_entry.override_background_color(
Gtk.StateFlags.NORMAL, rgba)
font_desc = Pango.font_description_from_string(
- str(int(self._descriptionf * self._scale)))
+ str(int(self.desc_size * 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)
@@ -934,7 +930,7 @@ class PortfolioActivity(activity.Activity):
self.title_entry.override_background_color(
Gtk.StateFlags.NORMAL, rgba)
font_desc = Pango.font_description_from_string(
- str(self._titlef * self._scale))
+ str(self.title_size * 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)
diff --git a/exportpdf.py b/exportpdf.py
index ac4db87..7ed1acc 100644
--- a/exportpdf.py
+++ b/exportpdf.py
@@ -26,8 +26,6 @@ from gettext import gettext as _
from utils import get_pixbuf_from_journal
-HEAD = 32
-BODY = 12
PAGE_WIDTH = 504
PAGE_HEIGHT = 648
LEFT_MARGIN = 10
@@ -40,6 +38,9 @@ def save_pdf(activity, nick, description=None):
if len(activity.dsobjects) == 0:
return None
+ head = activity.title_size
+ body = activity.desc_size / 2
+
tmp_file = os.path.join(activity.datapath, 'output.pdf')
pdf_surface = cairo.PDFSurface(tmp_file, 504, 648)
@@ -47,22 +48,22 @@ def save_pdf(activity, nick, description=None):
cr = cairo.Context(pdf_surface)
cr.set_source_rgb(0, 0, 0)
- show_text(cr, fd, nick, HEAD, LEFT_MARGIN, TOP_MARGIN)
+ show_text(cr, fd, nick, head, LEFT_MARGIN, TOP_MARGIN)
show_text(cr, fd, time.strftime('%x', time.localtime()),
- BODY, LEFT_MARGIN, TOP_MARGIN + 3 * HEAD)
+ body, LEFT_MARGIN, TOP_MARGIN + 3 * head)
if description is not None:
show_text(cr, fd, description,
- BODY, LEFT_MARGIN, TOP_MARGIN + 4 * HEAD)
+ body, LEFT_MARGIN, TOP_MARGIN + 4 * head)
cr.show_page()
for i, dsobj in enumerate(activity.dsobjects):
if dsobj.metadata['keep'] == '0':
continue
if 'title' in dsobj.metadata:
- show_text(cr, fd, dsobj.metadata['title'], HEAD, LEFT_MARGIN,
+ show_text(cr, fd, dsobj.metadata['title'], head, LEFT_MARGIN,
TOP_MARGIN)
else:
- show_text(cr, fd, _('untitled'), HEAD, LEFT_MARGIN,
+ show_text(cr, fd, _('untitled'), head, LEFT_MARGIN,
TOP_MARGIN)
w = 0
@@ -92,7 +93,7 @@ def save_pdf(activity, nick, description=None):
cr.restore()
if 'description' in dsobj.metadata:
- show_text(cr, fd, dsobj.metadata['description'], BODY,
+ show_text(cr, fd, dsobj.metadata['description'], body,
LEFT_MARGIN, h + 175)
cr.show_page()