1 |
|
2003-10-27 Bernhard Herzog <[email protected]> |
2 |
|
|
3 |
|
Several rendering changes: |
4 |
|
|
5 |
|
- Render the selection into a separate bitmap so that only that |
6 |
|
bitmap needs to be redrawn when the selection changes |
7 |
|
|
8 |
|
- Render incrementally showing previews and allowing interaction |
9 |
|
before rendering is complete |
10 |
|
|
11 |
|
- Update the renderer interface a bit. Most parameters of |
12 |
|
RenderMap are now parameters of the constructor |
13 |
|
|
14 |
|
* Thuban/UI/baserenderer.py (BaseRenderer.__init__): Add the map |
15 |
|
and the update region as parameters. Update the doc-string |
16 |
|
(BaseRenderer.render_map_incrementally): New. Generator function |
17 |
|
to renders the map incrementally |
18 |
|
(BaseRenderer.render_map): Remove the map argument (it's now in |
19 |
|
the constructor) and simply iterate over the |
20 |
|
render_map_incrementally generator to draw the map. |
21 |
|
(BaseRenderer.draw_shape_layer_incrementally) |
22 |
|
(BaseRenderer.draw_shape_layer): Renamed to |
23 |
|
draw_shape_layer_incrementally and changed into a generator that |
24 |
|
yields True every 500 shapes. Used by render_map_incrementally to |
25 |
|
render shape layers incrementally |
26 |
|
|
27 |
|
* Thuban/UI/renderer.py (ScreenRenderer.RenderMap): Removed the |
28 |
|
map and region parameters which are now in the constructor |
29 |
|
(ScreenRenderer.RenderMapIncrementally): New. Public frontend for |
30 |
|
the inherited render_map_incrementally. |
31 |
|
(BaseRenderer.draw_shape_layer): Removed. |
32 |
|
(ScreenRenderer.draw_selection_incrementally): New. The selection |
33 |
|
drawing part of the removed draw_shape_layer as a generator |
34 |
|
(ScreenRenderer.layer_shapes): Update because of the region |
35 |
|
parameter change |
36 |
|
(ExportRenderer.__init__): New. Extend the inherited constructor |
37 |
|
with the destination region for the drawing |
38 |
|
(ExportRenderer.RenderMap): Removed the map and region parameters |
39 |
|
which are now in the constructor |
40 |
|
|
41 |
|
* Thuban/UI/view.py (MapCanvas.PreviewBitmap): New. Return a |
42 |
|
bitmap suitable for a preview in a tool |
43 |
|
(CanvasPanTool.MouseMove): Use the PreviewBitmap method to get the |
44 |
|
bitmap |
45 |
|
(MapPrintout.draw_on_dc): Adapt to new renderer interface |
46 |
|
(MapCanvas.OnPaint): Handle drawing the selection bitmap if it |
47 |
|
exists |
48 |
|
(MapCanvas.OnIdle): Update the logic to deal with incremental |
49 |
|
rendering and the selection bitmap |
50 |
|
(MapCanvas._do_redraw): Handle the instantiation of the render |
51 |
|
iterator and the redraws during rendering |
52 |
|
(MapCanvas._render_iterator): New. Generator to incrementally |
53 |
|
redraw both bitmaps |
54 |
|
(MapCanvas.Export): Adapt to new renderer interface. |
55 |
|
(MapCanvas.full_redraw): Reset the selection bitmap and the |
56 |
|
renderer iterator too |
57 |
|
(MapCanvas.redraw_selection): New. Force a redraw of the selection |
58 |
|
bitmap |
59 |
|
(MapCanvas.shape_selected): Only redraw the selection bitmap |
60 |
|
|
61 |
|
* test/test_baserenderer.py |
62 |
|
(TestBaseRenderer.test_polygon_no_projection) |
63 |
|
(TestBaseRenderer.test_raster_no_projection) |
64 |
|
(TestBaseRenderer.test_point_map_projection) |
65 |
|
(TestBaseRenderer.test_point_layer_and_map_projection) |
66 |
|
(TestBaseRenderer.test_point_layer_projection) |
67 |
|
(TestBaseRenderer.test_point_with_classification): Adapt to new |
68 |
|
renderer interface |
69 |
|
|
70 |
2003-10-24 Bernhard Herzog <[email protected]> |
2003-10-24 Bernhard Herzog <[email protected]> |
71 |
|
|
72 |
* libraries/thuban/wxproj.cpp (draw_polygon_shape) |
* libraries/thuban/wxproj.cpp (draw_polygon_shape) |