1 |
# Copyright (c) 2001, 2002, 2003 by Intevation GmbH |
# Copyright (c) 2001, 2002, 2003, 2004 by Intevation GmbH |
2 |
# Authors: |
# Authors: |
3 |
# Bernhard Herzog <[email protected]> |
# Bernhard Herzog <[email protected]> |
4 |
# Jonathan Coles <[email protected]> |
# Jonathan Coles <[email protected]> |
42 |
# (layer_class, draw_function) pairs. If the renderer has to draw a |
# (layer_class, draw_function) pairs. If the renderer has to draw a |
43 |
# non-builtin layer type, i.e. a layer that is not a subclass of Layer |
# non-builtin layer type, i.e. a layer that is not a subclass of Layer |
44 |
# or RasterLayer, it iterates through that list, tests whether the layer |
# or RasterLayer, it iterates through that list, tests whether the layer |
45 |
# to be drawin is an instance of layer_class and if so calls |
# to be drawn is an instance of layer_class and if so calls |
46 |
# draw_function with the renderer and the layer as arguments. Since |
# draw_function with the renderer and the layer as arguments. Since |
47 |
# drawing is done incrementally, the draw_function should return an |
# drawing is done incrementally, the draw_function should return an |
48 |
# iterable. The easiest way is to simply implement the draw_function as |
# iterable. The easiest way is to simply implement the draw_function as |
64 |
function should return an iterable. The easiest way is to simply |
function should return an iterable. The easiest way is to simply |
65 |
implement the draw_function as a generator and to yield True in |
implement the draw_function as a generator and to yield True in |
66 |
suitable places, or to return the empty tuple if it's not possible |
suitable places, or to return the empty tuple if it's not possible |
67 |
to do the rendering in incrementally. |
to do the rendering incrementally. |
68 |
""" |
""" |
69 |
_renderer_extensions.append((layer_class, function)) |
_renderer_extensions.append((layer_class, function)) |
70 |
|
|
198 |
# if honor_visibility is true, only draw visible layers, |
# if honor_visibility is true, only draw visible layers, |
199 |
# otherwise draw all layers |
# otherwise draw all layers |
200 |
if not self.honor_visibility or layer.Visible(): |
if not self.honor_visibility or layer.Visible(): |
201 |
if isinstance(layer, Layer) and seenRaster: |
if isinstance(layer, Layer): |
202 |
for i in self.draw_shape_layer_incrementally(layer): |
if seenRaster: |
203 |
yield True |
for i in self.draw_shape_layer_incrementally(layer): |
204 |
|
yield True |
205 |
elif isinstance(layer, RasterLayer) \ |
elif isinstance(layer, RasterLayer) \ |
206 |
and Thuban.Model.resource.has_gdal_support(): |
and Thuban.Model.resource.has_gdal_support(): |
207 |
self.draw_raster_layer(layer) |
self.draw_raster_layer(layer) |