pre rfc draft on rendering
Tamas Szekeres
szekerest at GMAIL.COM
Fri Nov 9 15:11:23 EST 2007
Hi Thomas,
That's really cool :) I'm quite impressed by the idea. Here are some questions?
1. Which object would carry the vtable in your opinion? Would you
attach that directly to the imageObj or a new struct for the renderer
should be introduced?
We could possibly use:
int msDrawVectorLayer(image, layer) {
// go through the features
image->drawShape(image, shape);
..
}
// renderer specific
int DrawShape(image, shape.) {
...
do some size, width, etc adjustments with respect to minsize,
maxsize, scalefactor, etc
...
then depending on the symbol type, switch off to a render specific
function (possibly pointed at by a vtable structure):
if vector symbol
return image->DrawShapeVector(image, shape, vector points, color,
angle ...);
else if truetype symbol
return image->DrawShapeTruetype(image, shape, font file,
character, color, angle ...);
else
....etc....
}
2. It would be useful to separate the functions implemented by
renderers (in vtable) from the renderer independent functions. Would
a renderer be able to override the drawLayer for example?
3. How would you change the imageObj for holding the renderer
dependent image representation. Would it be a 'void * imagedata' or
something like that?
4. How the renderers would be plugged in?
Best regards,
Tamas
2007/11/9, thomas bonfort <thomas.bonfort at gmail.com>:
> hi all,
> I'm currently looking at cleaning up / avoiding code duplication /
> easier additions / etc... for the rendering side of mapserver. I've
> put up some working notes at
> http://trac.osgeo.org/mapserver/wiki/UnifyingTheRenderingInterfaces
> and would like to hear your comments/suggestions/flaming/etc...
>
> thomas
>
More information about the mapserver-dev
mailing list