| 1 | '''MapServer Rendering Plugin Status''' |
| 2 | |
| 3 | This page documents the rendering plugin implementation status for MapServer version 6.0. |
| 4 | |
| 5 | What Works: |
| 6 | |
| 7 | * create image function (into an imageObj) |
| 8 | * notes... |
| 9 | * basic vector API is in place (e.g. draw line, fill polygon, etc...) |
| 10 | * Cairo Graphics is implemented in trunk |
| 11 | * AGG is minimally implemented in a sandbox |
| 12 | * KML SoC work uses this API |
| 13 | * ... |
| 14 | * basic text API is in place |
| 15 | * performance concerns regarding font handling |
| 16 | * per glyph or per string? |
| 17 | * symbols support works for the most part |
| 18 | * exception in PIXMAP symbols |
| 19 | |
| 20 | Remaining Tasks: |
| 21 | |
| 22 | * implement lazy PIXMAP loading |
| 23 | * write our own image loaders (into an imageObj), this is part of the rendering API |
| 24 | * using libpng, libjpeg and something for GIF |
| 25 | * drivers could choose to implement their own (e.g. GD) |
| 26 | * write our own image writers (from an imageObj), again, this is part of the rendering API |
| 27 | * using libpng, libjpeg and something for GIF |
| 28 | * drivers could choose to implement their own (e.g. GD) |
| 29 | * Thomas has implemented PNG and JPEG writers already, minus color pre-preocessing and some other output optionss |
| 30 | * raster API implementation |
| 31 | * how to deal with potentially different image buffers (e.g. GD vs. everything else)? |
| 32 | * implement color pre-processing |
| 33 | * quantization |
| 34 | * is there still a need for a partial palette? |
| 35 | * existing renderer re-writes |
| 36 | * GD |
| 37 | * vector drivers (PDF/SVG/Flash), may, in some cases, be replaced by Cairo |
| 38 | * symbol API gaps |
| 39 | * use an imageObj instead of a gdImagePtr |
| 40 | * vector API gaps |
| 41 | * polygon fills using a tile |
| 42 | * hatching support |
| 43 | * possibility exists to create a hatch generator (e.g. all the lines) and we'd pass those to the renderer |
| 44 | * GD driver has code to compute the lines, but they aren't clipped |
| 45 | * remove GD dependencies from certain functional areas, specifically scalebar, legend and reference map generation |
| 46 | * embedding may be difficult, however, if the symbolObj changes to use imageObj's for PIXMAP symbols then the current process can probably be retained |
| 47 | |
| 48 | |
| 49 | |