/[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 468 by jonathan, Wed Mar 5 18:19:13 2003 UTC revision 574 by jonathan, Fri Mar 28 17:07:26 2003 UTC
# Line 48  class MapRenderer: Line 48  class MapRenderer:
48                  the renderer's default.                  the renderer's default.
49          """          """
50          # resolution in pixel/inch          # resolution in pixel/inch
51    
52            assert(scale > 0)
53    
54          self.dc = dc          self.dc = dc
55          self.scale = scale          self.scale = scale
56          self.offset = offset          self.offset = offset
# Line 226  class ScreenRenderer(MapRenderer): Line 229  class ScreenRenderer(MapRenderer):
229      # On the screen we want to see only visible layers by default      # On the screen we want to see only visible layers by default
230      honor_visibility = 1      honor_visibility = 1
231            
232      def RenderMap(self, map, region, selected_layer, selected_shape):      def RenderMap(self, map, region, selected_layer, selected_shapes):
233          """Render the map.          """Render the map.
234    
235          Only the given region (a tuple in window coordinates as returned          Only the given region (a tuple in window coordinates as returned
236          by a wxrect's asTuple method) needs to be redrawn. Highlight the          by a wxrect's asTuple method) needs to be redrawn. Highlight the
237          shape with id selected_shape in the selected_layer.          shapes given by the ids in selected_shapes in the
238            selected_layer.
239          """          """
240          self.update_region = region          self.update_region = region
241          self.selected_layer = selected_layer          self.selected_layer = selected_layer
242          self.selected_shape = selected_shape          self.selected_shapes = selected_shapes
243          self.render_map(map)          self.render_map(map)
244    
245      def draw_shape_layer(self, layer):      def draw_shape_layer(self, layer):
246          MapRenderer.draw_shape_layer(self, layer)          MapRenderer.draw_shape_layer(self, layer)
247          if layer is self.selected_layer and self.selected_shape is not None:          if layer is self.selected_layer and self.selected_shapes:
248              pen = wxPen(wxBLACK, 3, wxSOLID)              pen = wxPen(wxBLACK, 3, wxSOLID)
249              brush = wxBrush(wxBLACK, wxCROSS_HATCH)              brush = wxBrush(wxBLACK, wxCROSS_HATCH)
250                
251              shapetype = layer.ShapeType()              shapetype = layer.ShapeType()
             index = self.selected_shape  
252              if shapetype == SHAPETYPE_POLYGON:              if shapetype == SHAPETYPE_POLYGON:
253                  self.draw_polygon_shape(layer, index, pen, brush)                  func = self.draw_polygon_shape
254                    args = (pen, brush)
255              elif shapetype == SHAPETYPE_ARC:              elif shapetype == SHAPETYPE_ARC:
256                  self.draw_polygon_shape(layer, index, pen, None)                  func = self.draw_polygon_shape
257              else:                  args = (pen, None)
258                elif shapetype == SHAPETYPE_POINT:
259                  self.dc.SetBrush(brush)                  self.dc.SetBrush(brush)
260                  self.dc.SetPen(pen)                  self.dc.SetPen(pen)
261                  if shapetype == SHAPETYPE_POINT:                  func = self.draw_point_shape
262                      self.draw_point_shape(layer, index)                  args = ()
263                  else:              else:
264                      raise TypeError(_("Unhandled shape type %s") % shapetype)                  raise TypeError(_("Unhandled shape type %s") % shapetype)
265    
266                for index in self.selected_shapes:
267                    func(layer, index, *args)
268    
269      def layer_ids(self, layer):      def layer_ids(self, layer):
270          """Return the shapeids covered by the region that has to be redrawn          """Return the shapeids covered by the region that has to be redrawn

Legend:
Removed from v.468  
changed lines
  Added in v.574

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26