On Sun, 2006-05-07 at 03:37 +0200, Roman Kennke wrote: > I implemented support for painting (Color, Texture and Gradient, at > least theoretically - see below) and compositing for the > AbstractGraphics2D class. This allows for the following: > > http://kennke.org/blog/blosxom.cgi/2006/05/06#java2d > > This means that the rendering pipeline is mostly complete. I have to > implement clipping properly, which will be done directly in the scanline > conversion for optimum efficiency (thanks Sven for his hints on that > topic). > > Note that painting only works for solid colors at the moment > (java.awt.Color). Textures and gradients still need to be implemented. > Also note that painting and compositing is slow as hell, partly because > the algorithm in AlphaCompositeContext is not optimized at all, partly > because the painting and compositing could be accelerated greatly with > native support (i.e. using OpenGL or Cairo or homegrown algorithms for > that). Filling and computing on large arrays (in this case the backing > Raster) is always a little slow in plain Java. I still want to provide > Java-only impls for these, but where possible, these operations should > finally be accelerated (they are the most performance critical parts in > the rendering pipeline). > > 2006-05-07 Roman Kennke <[EMAIL PROTECTED]> > > * gnu/java/awt/java2d/AbstractGraphics2D.java > (fillShape): Determine user space bounds of shape and feed them > into the actual rendering pipeline. > (rawSetPixel): Made non-abstract for now. Maybe remove later. > (rawSetForeground): Likewise. > (getDestinationColorModel): Removed. > (getDeviceBounds): Made non-abstract. Provide useful default > impl. > (rawFillShape): Handle paint context. > (fillScanline): Implement painting and compositing. > (fillShapeAntialias): Handle paint context. > (fillScanlineAA): Implemented preliminary antialiasing based on > composite context. Not working yet. > (fillScanlineAlpha): Removed. > (init): Fetch destination raster. > (getDestinationRaster): New abstract method. > (updateRaster): New backend method. > > /Roman
Committed to the release branch. -- Andrew :) Department of Computer Science University of Sheffield
signature.asc
Description: This is a digitally signed message part
