Home - BeBytes Info - Submit App - Your Account - Links - Contact Us

Version 1.5.3
Contact Publisher
Version History
Other Reviews
Send Updates
  Submitted by: Wildman

Date Posted:
Last Updated:
Page Views:
User Rating:
awaiting votes..  

About WonderBrush:


WonderBrush is an editor for bitmap graphics. The main window holds any number of documents, which are called Canvas. A canvas has an associated name and pixel resolution as well as some other properties. It also references up to two files, which represent it on disk, one is a flat (translator) bitmap, the other a full-featured project file.
Each canvas can have any number of Layers, currently arranged as a list. Each layer represents an individual bitmap in the size of the canvas. Depending on each layers blending mode, they are composed on top of each other to form the final canvas bitmap.
Each layer can contain any number of Objects, which are created by WonderBrushs tools. Each object has a set of properties which define the unique appearance of the object on the layer.
At any time, it is possible to reorder the layers, or the objects they contain. This could be called non-linear editing. It is also possible to change most of an objects properties later on. This could be called non-destructive editing, because adding another object (like a filter) does not actually destroy any pixel data.

The Interface:

WonderBrush features a "single window" design. Additional windows are only in the form of popup panels, which are usually not supposed to float above the workspace. Along the left side of the main window, is the structured contents of the document, first the overview, then the list of layers, then the list of objects on the active layer, then the list of properties of the active object. Along the top of the window are the tools. The top part will display the configuration fields of the active tool. At the right top is an area reserved for color swatches.


A layer is completely transparent by default. The contents of a layer are only produced by objects, for example strokes of the Brush tool. Each layer has it's own list of objects attached to it, which is basically the layer's construction history. However, this history is non-linear, since the objects can be rearranged by drag sorting and each of their properties can be adjusted later. The relevant part of that layer's bitmap will then be rerendered by rendering every object again, that touches this area. Dependencies in the history will be taken into account. For example, if a part of the layer was cloned with the Clone tool, and that part is changed, the area containing the Clone tool strokes will also be rerendered.
Additionally to supporting the system clipboard for pixel data, WonderBrush maintains a private clipboard each for objects and properties of objects. These clipboards a persistent until the next system reboot and are accessed via the menu of the respective lists. Using the clipboards, objects can be transfered from one layer to another (even across canvas) and properties of one object can be copied to multiple other objects at once.
Layers and objects can also be duplicated by holding down when drag-sorting with the mouse.

The "non-linear" design has some adventages as well as handicaps. Some adventages are, that the object stack uses only little memory - and that it is non-linear, of course. It is also saved in the project file. Calculations are more precise, resizing the canvas simply renders all layers with scaled objects. One disadventage is the sometimes low undo/redo speed, because sometimes many objects need to be rerendered.

Some operations known from other graphics applications are achieved differently in WonderBrush. For example, locking the alpha channel can be done by duplicating a layer, and setting the new layers blending mode to "Alpha". Additional painting on the original layer will then be masked away by the duplicate. Unfortunately, the mask will apply to every other layer as well. In the future however, WonderBrush will have a compositing tree rather than a list of layers, so that the effect of one layer can be restricted to layers of that branch only.

WonderBrush features the concept of interchangable properties. This means that a set of properties from one object can be transfered to any number of other objects, even if their type is different. The set of properties that an object can have, depends on its type. But some properties are common to two or more types of objects. For example, many types feature "Opacity", some feature "Radius". The ability to transfer any number of properties to any number of objects at once is a pretty powerful concept. The implementation is quite simple though. There is a Property list that will display the set of properties with their specific values for the selected object in the Object list. If multiple objects are selected, the list will be empty. Most properties can be edited directly in the Property list, with different types of properties having different ways of being edited. Multiple properties can be selected at once and can be copied to a custom (and persistent until reboot) Property clipboard. Using the same Property menu, the properties from the clipboard can be pasted back to the selection of objects. The objects will be changed according to what properties they understand.

Current Pros:

One important feature of WonderBrush, is that blending is calculated in gamma converted RGB space. This gets rid of incorrect intermediate colors and is a unique feature among BeOS graphics programs.

The brush system, though not feature complete at all, is offering some unique options. Since the brush shapes are calculated on the fly, pen pressure can be set to control various aspects of the shape. The brush is also rendered with subpixel precision. I think this is not available on any other BeOS painting program.

The way in which objects and properties can be duplicated and copied arround makes

Latest Version

Details about this version:
(no information provided)

Intel (BeOS 5 +)     (1.2M)

Most Popular
1. BeAIM - 4847
2. BePDF - 4531
3. Paladin - 4419
4. OpenTracker - 4175
5. AMD PCnet32 - 4143
6. nVidia 3D Driver - 3878
7. nVidia Driver - 3869
8. VMWare PCnet/PCI - 3793
9. Firefox - 3666
10. Duke Nukem 3D - 3501
11. ATI Radeon - 3479
12. Basilisk II - 3446
13. Sequitur - 3409
14. Traker.Newfs - 3409
15. SPICE - 3361
16. AbiWord - 3157

Account Status
  You are not logged in.