[gnome-games] Use smaller fonts and borders when printing to save ink



commit 2c378f68c7a52528e6cf926ebdd6631c016336c5
Author: Robert Ancell <robert ancell gmail com>
Date:   Tue Sep 1 11:21:16 2009 +1000

    Use smaller fonts and borders when printing to save ink

 gnome-sudoku/src/lib/printing.py       |    2 +-
 gnome-sudoku/src/lib/sudoku_thumber.py |   12 ++++++++++--
 2 files changed, 11 insertions(+), 3 deletions(-)
---
diff --git a/gnome-sudoku/src/lib/printing.py b/gnome-sudoku/src/lib/printing.py
index 4cbfd4c..0150b74 100644
--- a/gnome-sudoku/src/lib/printing.py
+++ b/gnome-sudoku/src/lib/printing.py
@@ -88,7 +88,7 @@ class SudokuPrinter:
             if isinstance(sudoku, gsudoku.SudokuGameDisplay):
                 sudoku = sudoku.grid
 
-            sudoku_thumber.draw_sudoku (cr, sudoku.grid, None, best_square_size, left, top)
+            sudoku_thumber.draw_sudoku (cr, sudoku.grid, None, best_square_size, left, top, for_printing = True)
             if pos[0] < best_fit[0]:
                 left = left + best_square_size + margin
                 pos[0]  += 1
diff --git a/gnome-sudoku/src/lib/sudoku_thumber.py b/gnome-sudoku/src/lib/sudoku_thumber.py
index 8b493d6..1a846bf 100644
--- a/gnome-sudoku/src/lib/sudoku_thumber.py
+++ b/gnome-sudoku/src/lib/sudoku_thumber.py
@@ -7,9 +7,12 @@ N_BOXES = 3
 PENCIL_GREY = (0.3, 0.3, 0.3)
 BACKGROUND_COLOR = (1., 1., 1.)
 
-def draw_sudoku (cr, sudoku, played, size, offset_x = 0, offset_y = 0, border_color = (1.0, 1.0, 1.0), line_color = (0.0, 0.0, 0.0)):
+def draw_sudoku (cr, sudoku, played, size, offset_x = 0, offset_y = 0, border_color = (1.0, 1.0, 1.0), line_color = (0.0, 0.0, 0.0), for_printing = False):
 
     THIN = size / 100.
+    if for_printing:
+        THIN /= 3
+
     THICK = THIN * 2.
     BORDER = THICK
 
@@ -22,6 +25,11 @@ def draw_sudoku (cr, sudoku, played, size, offset_x = 0, offset_y = 0, border_co
 
     SQUARE_SIZE = WHITE_SPACE / SUDOKU_SIZE
     FONT_SIZE = SQUARE_SIZE
+    FONT_WEIGHT = cairo.FONT_WEIGHT_BOLD
+
+    if for_printing:
+        FONT_SIZE /= 2
+        FONT_WEIGHT = cairo.FONT_WEIGHT_NORMAL
 
     outer = {}
     outer["left"]   = offset_x
@@ -97,7 +105,7 @@ def draw_sudoku (cr, sudoku, played, size, offset_x = 0, offset_y = 0, border_co
                 letter = str(sudoku[y][x])
                 cr.select_font_face("",
                          cairo.FONT_SLANT_NORMAL,
-                         cairo.FONT_WEIGHT_BOLD)
+                         FONT_WEIGHT)
                 cr.set_source_rgb(0, 0, 0)
                 xbearing, ybearing, width, height, xadvance, yadvance = (
                     cr.text_extents(letter)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]