/[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 2561 by jonathan, Fri Jan 28 15:54:00 2005 UTC revision 2562 by jonathan, Wed Feb 16 21:14:47 2005 UTC
# Line 43  from math import floor Line 43  from math import floor
43    
44  from types import StringType  from types import StringType
45    
46    from Thuban.version import versions
47    
48    
49  # Map the strings used for the format parameter of the draw_raster_data  # Map the strings used for the format parameter of the draw_raster_data
50  # method to the appropriate wxWindows constants  # method to the appropriate wxWindows constants
# Line 92  class MapRenderer(BaseRenderer): Line 94  class MapRenderer(BaseRenderer):
94          if (layer.ShapeStore().RawShapeFormat() == RAW_SHAPEFILE          if (layer.ShapeStore().RawShapeFormat() == RAW_SHAPEFILE
95              and layer.ShapeType() in (SHAPETYPE_ARC, SHAPETYPE_POLYGON)):              and layer.ShapeType() in (SHAPETYPE_ARC, SHAPETYPE_POLYGON)):
96              offx, offy = self.offset              offx, offy = self.offset
97                x = lambda a, b, c, d: None
98                #return (True, x, None)
99              return (True, draw_polygon_shape,              return (True, draw_polygon_shape,
100                      draw_polygon_init(layer.ShapeStore().Shapefile(),                      draw_polygon_init(layer.ShapeStore().Shapefile(),
101                                        self.dc, self.map.projection,                                        self.dc, self.map.projection,
# Line 107  class MapRenderer(BaseRenderer): Line 111  class MapRenderer(BaseRenderer):
111      def draw_raster_data(self, x,y, data, format = 'BMP'):      def draw_raster_data(self, x,y, data, format = 'BMP'):
112    
113          mask = None          mask = None
114            width = data[0]
115            height = data[1]
116            image_data, mask_data, alpha_data = data[2]
117    
118            if versions['wxPython-tuple'] < (2,5,3):
119                alpha_data = None
120    
121          if format == 'RAW':          if format == 'RAW':
122              image = wxEmptyImage(data[0], data[1])              image = wxEmptyImage(width, height)
123              image.SetData(data[2][0])              image.SetData(image_data)
124              if data[2][1] is not None:              if mask_data is not None:
125                  mask = wxBitmapFromBits(data[2][1], data[0], data[1], 1)                  mask = wxBitmapFromBits(mask_data, width, height, 1)
126                  mask = wxMask(mask)                  mask = wxMask(mask)
127                elif alpha_data is not None:
128                    image.SetAlphaData(alpha_data)
129          else:          else:
130              stream = cStringIO.StringIO(data[2][0])              stream = cStringIO.StringIO(image_data)
131              image = wxImageFromStream(stream, raster_format_map[format])              image = wxImageFromStream(stream, raster_format_map[format])
132              if data[2][1] is not None:              if mask_data is not None:
133                  stream = cStringIO.StringIO(data[2][1])                  stream = cStringIO.StringIO(mask_data)
134                  mask = wxImageFromStream(stream, raster_format_map[format])                  mask = wxImageFromStream(stream, raster_format_map[format])
135                  mask = wxMask(wxBitmapFromImage(mask, 1))                  mask = wxMask(wxBitmapFromImage(mask, 1))
136                elif alpha_data is not None:
137                    stream = cStringIO.StringIO(alpha_data)
138                    alpha = wxImageFromStream(stream, raster_format_map[format])
139                    image.SetAlpha(alpha.GetData()[:])
140    
141          bitmap = wxBitmapFromImage(image)          bitmap = wxBitmapFromImage(image)
142          bitmap.SetMask(mask)          bitmap.SetMask(mask)

Legend:
Removed from v.2561  
changed lines
  Added in v.2562

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26