logo


ZSurface

The ZSurface class is a memory area to which you can draw images and primitives. It provides set of optimized methods for various types of memory transfers ( blitting) between memory buffers (ZSurfaces) and/or framebuffer (video) memory on ARM powered, qte based devices ( currently it only supports the Zaurus.) .
This class was designed with a single goal - fast, optimized memory transfers between memory surfaces and/or framebuffer memory.
Nothing more, nothing less.
This is not a "game programming library" - SDL or Allegro style. There is absolutely no provision for any sort of event handling or anything else beyond video operations.
You can think of it as an extension to QPainter class. It can be incorporated into qte based applications, SDL or whatever else suits you best. The only limitation is that you need to be able to supply a valid QDirectPainter object ( which is used to obtain pointer to a framebuffer memory.)

What's available:

  • standard blits ( with optional blending using static alpha value)
  • color keyed blits ( with optional blending using static alpha value)
  • alpha blits using alpha channel
  • rectangles, lines, text ( with optional blending using static alpha value)

TO DO:

  • Support for ZROTATION Z90 and Z270 ( landscape modes) on A300.
  • Support for ipaq devices.
  • Support for windowed mode ( using the content of a window as a opposed to entire screen during memory/framebuffer transfer.)
  • Support for RLE encoded sprites.

Download:

- Demo application (binary ipkg for the Zaurus.)
- Source code + documentation ( tar.gz file )
- Online documentation

This class is relased under BSD license.
Any comments/suggestions should be directed to Walter Rawdanik