/[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 2537 by jonathan, Fri Jan 21 14:01:25 2005 UTC revision 2552 by jonathan, Fri Jan 28 15:54:00 2005 UTC
# Line 23  from wxPython.wx import wxPoint, wxRect, Line 23  from wxPython.wx import wxPoint, wxRect,
23      wxBLACK_PEN, wxBLACK, wxSOLID, wxCROSS_HATCH, wxSWISS, wxNORMAL, \      wxBLACK_PEN, wxBLACK, wxSOLID, wxCROSS_HATCH, wxSWISS, wxNORMAL, \
24      wxBitmapFromImage, wxImageFromStream, wxBITMAP_TYPE_BMP, \      wxBitmapFromImage, wxImageFromStream, wxBITMAP_TYPE_BMP, \
25      wxBITMAP_TYPE_JPEG, wxBITMAP_TYPE_PNG, wxBITMAP_TYPE_TIF, \      wxBITMAP_TYPE_JPEG, wxBITMAP_TYPE_PNG, wxBITMAP_TYPE_TIF, \
26      wxBITMAP_TYPE_GIF, wxEmptyImage      wxBITMAP_TYPE_GIF, wxEmptyImage, wxMask, wxBitmapFromBits
27    
28  from wxproj import draw_polygon_shape, draw_polygon_init  from wxproj import draw_polygon_shape, draw_polygon_init
29    
# Line 104  class MapRenderer(BaseRenderer): Line 104  class MapRenderer(BaseRenderer):
104          return wxFont(int(round(self.resolution * 10)), wxSWISS, wxNORMAL,          return wxFont(int(round(self.resolution * 10)), wxSWISS, wxNORMAL,
105                        wxNORMAL)                        wxNORMAL)
106    
107      def draw_raster_data(self, x,y, data, format = 'BMP', mask = None):      def draw_raster_data(self, x,y, data, format = 'BMP'):
108    
109            mask = None
110    
111          if format == 'RAW':          if format == 'RAW':
112              image = wxEmptyImage(data[0], data[1])              image = wxEmptyImage(data[0], data[1])
113              image.SetData(data[2])              image.SetData(data[2][0])
114                if data[2][1] is not None:
115                    mask = wxBitmapFromBits(data[2][1], data[0], data[1], 1)
116                    mask = wxMask(mask)
117          else:          else:
118              stream = cStringIO.StringIO(data[2])              stream = cStringIO.StringIO(data[2][0])
119              image = wxImageFromStream(stream, raster_format_map[format])              image = wxImageFromStream(stream, raster_format_map[format])
120                if data[2][1] is not None:
121                    stream = cStringIO.StringIO(data[2][1])
122                    mask = wxImageFromStream(stream, raster_format_map[format])
123                    mask = wxMask(wxBitmapFromImage(mask, 1))
124    
125          bitmap = wxBitmapFromImage(image)          bitmap = wxBitmapFromImage(image)
126            bitmap.SetMask(mask)
127    
128          if mask is None:          self.dc.DrawBitmap(bitmap, int(round(x)), int(round(y)), True)
             self.dc.DrawBitmap(bitmap, int(round(x)), int(round(y)), False)  
         else:  
             # if we are given a mask object, try to pass it to SetMaskColour,  
             # otherwise assume it's a mask image  
             try:  
                 bitmap.SetMaskColour(mask);  
                 self.dc.DrawBitmap(bitmap, int(round(x)), int(round(y)), True)  
             except (TypeError):  
                 # implement using a mask image  
                 raise NotImplementedError  
129    
130    
131  class ScreenRenderer(MapRenderer):  class ScreenRenderer(MapRenderer):

Legend:
Removed from v.2537  
changed lines
  Added in v.2552

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26