Unlimited Zooming Interface

This document implements UZI source code documentation.

Before getting into specific details, please read UZI's coding conventions.

Information for new developpers

This part describe how the code is structured, and how it is made.
UZI is split in many components:

Parser structures

Every parser in UZI code is made in a similar architecture.

Renderer system

Currently, the mapper generate boxes (defined as such by CSS standard) to be rendered by an (unknown) external renderer. This unknown renderer must implement the RequiredRendererImplementation interface in order to be able to use the mapper.
You'll find an implementation (which is as bug-proof as possible, at least to my own knowledge) in BrowserContent class.
Please have a look to the source file BrowserContent.cpp found in source archive for reference implementation.

You can also follow this step-by-step Juce tutorial.

Memory and specific usage documentation

Althrough UZI is carefully checked against memory leaks with the best memory tracking tools, it's still possible for a developer to miss a memory leak.
In order to avoid such cases, we have compiled some documents like:

Using this documentation

UZI is made in C++, and put all semantically-close code inside namespace. The best way to browse this documentation is to use Namespaces tab to locate the code documentation.
If you already know the class or structure you are looking for, please use the Classes tab.

Other projects involved in this project

What is missing ?

Althrough we have already tested Unlimited Zooming Interface code before, the new version still miss an optimized space indexing design also known as KDTree to organize fast element visibility testing while zooming.
Concerning the HTML browser, please have a look to the General Todo list.

(C) An X-Ryl669 project 2007

This document describes Unlimited Zooming Interface source code. UZI stands for Unlimited Zooming Interface, and source code license is