maposmatic-dev
[Top][All Lists]
Advanced

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

[Maposmatic-dev] [PATCH] multi-page: don't rotate the label of the south


From: Étienne Loks
Subject: [Maposmatic-dev] [PATCH] multi-page: don't rotate the label of the south arrow, minor fix
Date: Sat, 31 Mar 2012 23:20:13 +0200

---
 ocitysmap2/layoutlib/multi_page_renderer.py |   19 +++++++++----------
 1 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/ocitysmap2/layoutlib/multi_page_renderer.py 
b/ocitysmap2/layoutlib/multi_page_renderer.py
index 82266c7..9446a7b 100644
--- a/ocitysmap2/layoutlib/multi_page_renderer.py
+++ b/ocitysmap2/layoutlib/multi_page_renderer.py
@@ -598,7 +598,7 @@ class MultiPageRenderer(Renderer):
 
         cairo_surface.show_page()
 
-    def _draw_arrow(self, ctx, cairo_surface, number):
+    def _draw_arrow(self, ctx, cairo_surface, number, reverse_text=False):
         arrow_edge = self.grayed_margin_pt*.6
         ctx.save()
         ctx.set_source_rgb(0, 0, 0)
@@ -613,6 +613,8 @@ class MultiPageRenderer(Renderer):
         ctx.restore()
 
         ctx.save()
+        if reverse_text:
+            ctx.rotate(math.pi)
         ctx.set_source_rgb(1, 1, 1)
         Renderer._draw_centered_text(ctx, unicode(number), 0, 0)
         ctx.restore()
@@ -652,7 +654,7 @@ class MultiPageRenderer(Renderer):
                       - commons.convert_pt_to_dots(self.grayed_margin_pt)/2)
                 ctx.rotate(math.pi)
                 self._draw_arrow(ctx, cairo_surface,
-                                 south_arrow + nb_previous_pages)
+                             south_arrow + nb_previous_pages, 
reverse_text=True)
                 ctx.restore()
                 break
 
@@ -669,6 +671,7 @@ class MultiPageRenderer(Renderer):
                                  west_arrow + nb_previous_pages)
                 ctx.restore()
                 break
+
         # east arrow
         for col_nb in xrange(current_col + 1, self.nb_pages_width):
             if self.page_disposition[current_line][col_nb] != None:
@@ -699,9 +702,7 @@ class MultiPageRenderer(Renderer):
 
         self._render_overview_page(ctx, cairo_surface, dpi)
 
-        page_number = 0
-
-        for i, (canvas, grid) in enumerate(self.pages):
+        for map_number, (canvas, grid) in enumerate(self.pages):
 
             rendered_map = canvas.get_rendered_map()
             mapnik.render(rendered_map, ctx)
@@ -720,14 +721,12 @@ class MultiPageRenderer(Renderer):
             ctx.restore()
 
             # Render the page number
-            draw_utils.render_page_number(ctx, i+4,
+            draw_utils.render_page_number(ctx, map_number+4,
                                           self._usable_area_width_pt,
                                           self._usable_area_height_pt,
                                           self.grayed_margin_pt,
                                           transparent_background = True)
-            #self._render_neighbour_arrows()
-            page_number = i+4
-            self._render_neighbour_arrows(ctx, cairo_surface, i)
+            self._render_neighbour_arrows(ctx, cairo_surface, map_number)
 
             cairo_surface.show_page()
         ctx.restore()
@@ -739,7 +738,7 @@ class MultiPageRenderer(Renderer):
                                               Renderer.PRINT_SAFE_MARGIN_PT,
                                               self._usable_area_width_pt,
                                               self._usable_area_height_pt),
-                                             page_number + 1)
+                                              map_number+5)
 
         mpsir.render()
 
-- 
1.7.9.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]