/[thuban]/branches/WIP-pyshapelib-bramz/Thuban/UI/renderer.py
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/Thuban/UI/renderer.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 965 by jonathan, Wed May 21 17:24:22 2003 UTC revision 1219 by bh, Mon Jun 16 17:42:54 2003 UTC
# Line 35  from Thuban.Model.label import ALIGN_CEN Line 35  from Thuban.Model.label import ALIGN_CEN
35    
36  from Thuban.Model.classification import Classification  from Thuban.Model.classification import Classification
37  from Thuban.Model.color import Color  from Thuban.Model.color import Color
38    import Thuban.Model.resource
39    
40  class MapRenderer:  class MapRenderer:
41    
# Line 78  class MapRenderer: Line 79  class MapRenderer:
79          #          #
80          # This is only a good optimization if there is only one          # This is only a good optimization if there is only one
81          # raster layer and the image covers the entire window (as          # raster layer and the image covers the entire window (as
82          # it currently does).          # it currently does). We note if there is a raster layer
83            # and only begin drawing layers once we have drawn it.
84            # That way we avoid drawing layers that won't be seen.
85          #          #
86          for layer in map.Layers():          for layer in map.Layers():
87              if isinstance(layer, RasterLayer):              if isinstance(layer, RasterLayer) and layer.Visible():
88                  seenRaster = False                  seenRaster = False
89                  break                  break
90    
# Line 91  class MapRenderer: Line 94  class MapRenderer:
94              if not self.honor_visibility or layer.Visible():              if not self.honor_visibility or layer.Visible():
95                  if isinstance(layer, Layer) and seenRaster:                  if isinstance(layer, Layer) and seenRaster:
96                      self.draw_shape_layer(layer)                      self.draw_shape_layer(layer)
97                  elif isinstance(layer, RasterLayer):                  elif isinstance(layer, RasterLayer) \
98                        and Thuban.Model.resource.has_gdal_support():
99                      self.draw_raster_layer(layer)                      self.draw_raster_layer(layer)
100                      seenRaster = True                      seenRaster = True
101    
# Line 125  class MapRenderer: Line 129  class MapRenderer:
129          else:          else:
130              draw_func = lambda i: \              draw_func = lambda i: \
131                     self.draw_polygon_shape(polygon_render_param, i, pen, brush)                     self.draw_polygon_shape(polygon_render_param, i, pen, brush)
132                
133            table = layer.ShapeStore().Table()
134          for i in self.layer_ids(layer):          for i in self.layer_ids(layer):
135    
136              if field is None:              if field is None:
137                  group = defaultGroup                  group = defaultGroup
138              else:              else:
139                  record = layer.table.ReadRowAsDict(i)                  record = table.ReadRowAsDict(i)
140                  assert record is not None                  assert record is not None
141                  group = lc.FindGroup(record[field])                  group = lc.FindGroup(record[field])
142    
# Line 202  class MapRenderer: Line 207  class MapRenderer:
207                  layer.GetImageFilename(),                  layer.GetImageFilename(),
208                  inProj,                  inProj,
209                  outProj,                  outProj,
210                  str(xmin), str(ymin), str(xmax), str(ymax),                  (xmin, ymin, xmax, ymax),
211                  "", str(width), str(height));                  "", (width, height))
212          except IOError, (strerr):          except IOError, (strerr):
213              print strerr              print strerr
214          except (AttributeError, ValueError):          except (AttributeError, ValueError):
# Line 228  class MapRenderer: Line 233  class MapRenderer:
233      def polygon_render_param(self, layer):      def polygon_render_param(self, layer):
234          """Return the low-lever render parameter for the layer"""          """Return the low-lever render parameter for the layer"""
235          offx, offy = self.offset          offx, offy = self.offset
236          return draw_polygon_init(layer.shapefile, self.dc,          return draw_polygon_init(layer.ShapeStore().Shapefile(), self.dc,
237                                   self.map.projection,                                   self.map.projection,
238                                   layer.projection,                                   layer.projection,
239                                   self.scale, -self.scale,                                   self.scale, -self.scale,

Legend:
Removed from v.965  
changed lines
  Added in v.1219

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26