[interfacekit] Re: Graphics

  • From: Erik Jaesler <erik@xxxxxxxxxxxxxx>
  • To: Marc Flerackers <mflerackers@xxxxxxxxxx>
  • Date: Thu, 22 Aug 2002 10:38:14 -0700

All of these are excellent points, and exactly the sort of thing I would 
like to see us do in R2.  We actually looked at a couple of existing 
libraries (libart and zodius, as I recall) to get this functionality, 
but there were serious performance concerns.  Don't suppose you'd like 
to tackle writing this stuff when the time comes? ;)

e

Marc Flerackers wrote:
> While working with SVG I noticed that the BeOS drawing API, although quite
> advanced, lacks many of the current (and old) features of vector graphics.
> 
> One of those being transformations, BeOS only has a translation and a
> uniform scale. Rotations, skews and arbitrary scales and translations are
> not part of the API. Of course we can always tranform all coordinates
> ourselves, and pass the transformed primitives to the API. But most modern
> API's provide a fully implemented transformation stack.
> 
> Another thing needed is anti-aliasing. For a high quality SVG viewer you
> would have to do all the rendering in a bitmap yourself.
> 
> Fill styles are restricted to solid or pattern fills. Texture and gradient
> fills are missing. It is possible to emulate this by using ClipToPicture and
> drawing a bitmap with the texture, or gradient.
> The problems with this however are:
> -ClipToPicture will not give an anti-aliased result, unless the clipping
> implementation on the AppServer will work with destination alpha, which
> would be nice ^_^.
> -The gradients have to be prepared in a BBitmap, which means they use more
> memory (than a gradient specification), and are not scaleable. Both these
> points make it unusable in a BPicture.
> 
> I would like to write an SVG to BPicture converter, however gradients are
> very important to give depth to images, and anti-aliasing is needed for a
> nice result when drawing.
> 
> Maybe after R1 we can think about extending the drawing API, a function like
> SetAntiAliasing/SetSmoothing would be nice, transformations and gradient
> patterns require more deep changes.
> 
> Marc Flerackers (mflerackers@xxxxxxxxxx)
> Software Engineer
> ANDROME NV
> WetenschapsPark 4
> B-3590 Diepenbeek - Belgium
> Phone:+32(0)11-301330 Fax:+32(0)11-301331
> 



Other related posts: