The objectEventExample is created as an alternate GUI and control interface for 
the Slice//Jockey program (Pure DAta) in openFrameWorks. It currently supports 
and demonstrates mouse events on arbitrary objects. These arbitrary objects can 
contain controllers for the Slice//Jockey functionality, realised with libPd.
Slice//Jockey can be found here: 
http://www.katjaas.nl/slicejockey/slicejockey.html

The main goal is clicking and dragging objects on a canvas, and controlling 
parameters.

The demo application shows six geometrical figures which react on left mouse 
button clicks, mouse scroll and mouse drag actions. The latest clicked object is 
on top and selected when clicking a stack of multiple overlapping objects. There 
is a rudimentary provision to keep objects on the canvas and becoming too small.
Right-clicking an object pushed it to the bottom of the stack. 

The attributes of the objects are currently name, color and selected color. Name
is not very useful now, but was handy during debugging. 

Implementation

The objects are derived from EventObject which defines the basic structure and
implements the common behaviour. The created objects are placed in a vector and
for each operation, this vector is iterated. The method names are the same as
generated by openFrameWorks, but the signature may differ. 

On a left-mouse click (mousePressed()) the first object that detects being 
clicked, is selected and placed at the top of the vector. As the draw() method 
iterates in reverse, the first is drawn last and thus on top.

Limitations:
- very fast movement of the objects is not possible, as the mouse pointer could
  leave the object and a mouseReleased event is generated.
- The rectangle can be drawn with an arbitrary rotation, but is always 
  equilateral.
- The rectangle is always a square and cannot rotate.


The software is licensed using the 2-clause BSD license, with the exception of 
the main.cpp, testApp.h, Makefile and config.make and portions of the 
testApp.cpp file which are copied from the openFrameworks 007 distribution.

This is the first release of the objectEventExample, 0.1

Fred Jan Kraan, 2012-06-14