
MOUSE BOX
----------

A very convenient GUI building block useful for many tricks and/or to create special custom controls which, despite its simplicity, we always missed.
This module provides an empty (i.e invisible) resizeable box responding to mouse clicks and movements, which can be overlaid on animations or static imagery, for example.
For the MouseBox to always catch your input, make sure you will assign it higher layer priority (move it "on top") with respect to any other control or imagery you want to place underneath. Also, despite being visually transparent, it will grab every mouse click inside its boundaries.
Please note that the Mouse Box will *always* catch your mouse input; therefore, any active controls placed beneath will *not* be able to intercept any mouse input !


NOTE: All deltamove outputs are now sending a zero value immediately followed by the delta value at every mouse movement. This behaviour has been introduced because SynthEdit does not set a pin twice with the same value, therefore the Patch Memory Increment (or similar usages) would not work properly


 PIN DESCRIPTION

 .Relativity - Selects which corner the coordinates shall be computed relative to (defaults to upper left
               corner)

 .Hint, Menu Items and Menu Selection - connect these as usual to have bubble help, Learn and UnLearn menus.
                                        Keep in mind that when MouseBox (as you are intended to do most of
                                        times) is placed in front of another GUI control/image, the bubble
					help and Learn/UnLearn/whatever menu for said control/image won't
					be accessible, being any input trapped by the MouseBox on top. You shall
					therefore provide MouseBox with them, if needed and if such is the case.

 .Mouse Down (bool) - TRUE while the left mouse button is pressed

 .Box width, Box height (int) - box size in pixels

 .Mouse X, Mouse Y (int) - integer, unclipped mouse position (relative to the upper left corner)

 .Mouse X (norm), Mouse Y (norm) (float) - normalized (i.e 0 at origin and 1 at width or height), unclipped
                                           mouse position (relative to upper left corner)

 .Mouse angle (norm) (float) - mouse angle computed with respect to the center of the box, normalized (i.e 360
                               degrees = 1). Phase and direction depend on the Coord Relativity setting (i.e
                               when set to Upper Left, the angle will be computed clockwise with zero degrees at
                               12 o'clock)

 .Deltamove X, Deltamove Y (int) - integer deltas of mouse movement (current position minus previous position)

 .Deltamove X (norm), Deltamove Y (norm) (float) - float deltas of mouse movement (current normalized position
                                                   minus previous normalized position)

 .Deltamove angle (norm) (float) - float delta of mouse angle (current angle minus previous angle, >0 means
                                   clockwise rotation, <0 means anti-clockwise depending on Coords Relativity
                                   setting), continuous rotation (i.e the step at 12 o'clock is corrected)


