The Rapicorn Toolkit
====================

Rapicorn is a toolkit for rapid development of user interfaces for C++ and
python development. Much is still in prototype/alpha development stage, but
a strong set of foundation technologies has already been established.
Everybody is free to participate with ideas, code or wiki contributions,
and artwork (we still need a logo, and always need icons and SVG themes).

Rapicorn brings UI-design, UI-notation and UI-programming as close together
as possible. To accomplish this, it provides concise ways for UI notation,
usable also throughout design phases.
Simple but powerful programming mechanisms are provided to automate binding
of programming and GUI logic and to minimize manual work.

Cairo is used for all rendering tasks, and Pango is currently used for text
rendering. A more extensive overview is provided online:
  http://rapicorn.org/introduction.html

Web pages and further resources can be found at:

  http://rapicorn.org

A mailing list for Rapicorn development and feedback:

  https://groups.google.com/d/forum/rapicorn
  rapicorn@googlegroups.com

A programming tutorial can be found under:
  http://rapicorn.org/tutorial.html

Dependencies
============

In order to build Rapicorn from release tarballs, a recent version of
libpng, Cairo, Pango and Gtk+ as well as Python 2.5 are currently needed.
The sources for the required packages can be found here:

  http://gtk.org/download.html
  http://cairographics.org/download/
  http://sourceforge.net/projects/libpng/
  http://www.python.org/download/releases/

As Debian package list:

  libpng12-dev libcairo2-dev libpango1.0-dev libgtk2.0-dev python2.5-dev

Rapicorn tends to hit GNU C++ compiler bugs fairly frequently, so if you
have problems compiling the code, or get segfaults in STL source files,
upgrading the compiler may improve the situation.

Compiling with a different compiler version than the default on your
system and running all checks Rapicorn offers (they should all succeed)
can be done with commands like:

  export CC=gcc-4.6 CXX=g++-4.6 "CPP=gcc-4.6 -E" "CPPCXX=g++-4.6 -E"
  ./configure
  make all install
  make report # execute fast tests, performance tests and slow tests

Installation
============

See the file 'INSTALL'.
