cZUI 0.4.0

Allows you to quickly create zoomable and scrollable displays of things 2D
cZUI allows you to quickly create zoomable and scrollable displays of things 2D. cZUI project uses vector drawing libraries like SGE to draw smoothly magnified objects. Objects do not need to be aware of magnification issues, thus writing with cZUI is easy and fast.

With a rich event framework, cZUI allows complex user actions such as dragging, moving, highlighting, selecting and removing of any object within the cZUI scene. Included with the distribution are a few informative examples.

cZUI supports SGE over SDL, can be embedded into MFC, and aedGUI widget library via cZUIWidget. Support for other windowing/widget toolkits will be added later.

cZUI contains ready objects for most frequent tasks, just include them in the scene.

Main features:

  • Portability:
  • cZUI is written in ANSI C++ and should be supported by a large variety of OSes. It has been tested on GNU/Linux 2.4, 2.6 and MS Windows.
  • Support of various graphics libraries:
  • With a modular graphics and event architecture, cZUI supports SDL, X, and any other windowing system you may care to write wrappers for. Writing your own graphics/event wrapper for another graphics/event framework is straightforward and should not take more than a few days.
  • Flexibility:
  • Using a minilithic approach borrowed from Jazz, cZUI sports a layered design and a scene tree to allow for easy customization of any object without need of partial rewrite or subclassing.
  • Small memory footprint:
  • Camera/context storage allow the objects to be streamlined and occupy little space. Careful use of these mechanisms can help remove unnecessary data from objects: the test program with 2080 nodes takes 4044K and (4020K for 1480 nodes), leading to 40 bytes per node. In a setting of 1 million nodes, this will eat you 44M of total memory.
  • Speed:
  • cZUI was designed to support huge scenes and to be quite fast at that.Currently it has been tested with a little over 80k nodes (which is not much), this is subject to change. Caution: writing fast apps supporting huge graphs (>30k) will require the author to delve a bit deeper into cZUI and use some more opaque objects, such as SpaceGroup, EventFilter, and ImageGroup. These will allow you much higher speeds by dividing your scene by area, filtering out mousemoves and taking over drawing at high zoomouts.

last updated on:
January 3rd, 2012, 13:21 GMT
license type:
LGPL (GNU Lesser General Public License) 
developed by:
Alexandru Botezatu
ROOT \ Programming \ Widgets
Download Button

In a hurry? Add it to your Download Basket!

user rating 12



Rate it!
What's New in This Release:
  • This is a bitrot removal release.
  • Major changes include 64-bit support and a shiny new Cairo backend.
  • Also noteworthy are a few bugfixes in the core and SGE driver, improved makefiles, and new scene nodes.
read full changelog

Add your review!