On 01/03/2008, Travis Kay tlk@nb.sympatico.ca wrote:
Gary,
This sounds like a good idea to me; improves the overall design and adds some very nice flexibility.
Indeed! Interesting, that if we step back and look at things at more abstract approach, then all operations like fills and borders is nothing more than a function: f (shape) where shape is polygonal (can be hollow or not).
From engine's POV things could be unified - there is no need to
distinct between fills and drawing borders. The difference lies in kind of operation and its parameters, but everything is always based on shape.
Baloon engine are quite limited to solid fills and 2 kinds of gradient fills. There can be much more techniques based on different pixel operations by having polygonal shape: - embossing - outer/inner glows and shadows and many more.
But even having current primitive capabilities we can achieve much more if use composite fill styles: f(shape) = a(shape)*b(shape)*c(shape)...
where a,b,c is basic kinds of operations, currently available to us.