.. Box documentation master file, created by
sphinx-quickstart on Wed Oct 20 11:13:27 2010.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to the Box project!
===========================
Introduction
------------
Box(er) is made by two equally important components:
- **a programming language, Box**, designed with vector graphics in mind,
- **a graphical user interface, Boxer**, which allows you to edit the Box
program and - at the same time - see the figure, zoom in and out,
interact with it, browse the documentation interactively.
The aim of the project is hence to maintain the ease-of-use offered
by mouse-driven graphical editors, adding - on top of it - the customizability
which only a powerful dedicated programming language can provide.
Below you find a screenshot of the next-to-come version of Boxer.
.. image:: boxer0.3.2_screenshot.png
:align: center
The small squares are "reference points" for the figure.
They can be moved using the mouse and can be used in the Box source
as pre-set variables. This way, it is possible to use the mouse
to interact directly with the Box source.
Features
--------
Box provides most of the features needed to create quality pictures and figures.
Box has the following advantages over traditional GUI graphics editors:
- **Smart figures:** while you can still see what you draw and interact
with it as in traditional vector graphics editors, you can also add custom
code to make your figures "smart",
- **Reusability:** you can reuse your past figures just via cut & paste from
other Box programs,
- **Flexibility:** you always draw things in Window objects.
You can then translate, rotate, scale and put such Window objects
inside other Window objects,
- **Powerful tools:** Transformation matrices can be calculated automatically
from constraints given by the user,
- **Flexible syntax:** don't need to declare variables when redundant,
don't need to put semicolons everywhere, don't need to give function
parameters in a precise order just for the sake of it, use default values
as needed (you can specify many parameters, but you don't have to)...
- **Customizability:** you can base your figure on a set of variables which
you define at the beginning. Changing colors, line sizes, shapes and styles
is then a matter of seconds...
- Being a programming language, Box allows you to draw fractal pictures
and Boxer allows you to interact with them!
Box has also the following features:
- you can save your figures to EPS, PDF, PNG and SVG.
You can hence load your SVG figure with `Inkscape `_
and continue to work with the latter, if you prefer.
- translucency, radial and linear color gradients, lines with variable width,
- Box compiles under Linux, Mac and Windows.
Source code is provided for UNIX like OSes, while a zip archive
(containing the executable) is available for Windows.
Table of contents
-----------------
.. toctree::
:maxdepth: 1
examples/gallery
doc/manual
The language
doc/installation
Download