Add grits_object_destroy functions and fix memory leaks
Add motion threshold when clicking objects This allows a click to go though even if a small amount of mouse motion is detected. Currently set to 8 motion events, it might be better to use pixels instead of events.
Add thread safe grits_viewer_queue_draw function This should be used by threads when they finish loading something. Any additional loading which must be done by the main thread will ideally be done during the next draw.
Remove deprecated thread functions
Add cursor support to GritsObject
Add parameters and return values to GritsObject events This should eventually let us break the chain so that a mouse-click doesn't cause multiple things to happen.
Move OpenGL includes to a common place Apple seems to think the should put GL.h in OpenGL instead of GL.. putting it all gtkgl.h makes it a little easier, but requires gtkgl.h to be included in the install and by grits.h.
Fix off-by-one error
Make picking 64-bit compatible Use an array and index into that instead of passing pointers to glPushName since 64-bit pointers do not fit in the name stack.
Update copyright notices
Fix typo
Add clicked signal to GritsObject Using mouse-down/mouse-up is rather not helpful since GritsViewer does a lot with mouse drags.
Add mouse, keyboard, and motion events to GritsObject These work by chaining the event from GritsOpenGL up to each individual object, which then emits the callback if it is currently selected (moused over).
Add mouse enter/leave signals to objects This uses the OpenGL Selection render mode to determine which objects the mouse is over. It requires fairly tight integration between GritsOpenGL and GritsObject. The signal code is handled internally by GritsObject. However, most of the actual selection matching work is done by GritsOpenGL. Object types that wish to improve performance can implement the pick() function in addition to the draw() function. The pick function is used when performing selection matching. It works similar to draw, but does not need to do textures/lighting/opacity/etc.
Add hidden method for object This allows object to hide nested objects when they are hidden
Allow disabling operations in grits_object_draw Objects now include a GRITS_SKIP_* bitmask used for disabling various operations in grits_object_draw. The default is to perform all tests and operations, however some of these are expensive. Objects which do not need some operations or take care of it themselves can disable the tests in grits_object_draw to save processing time. For instance, saving the OpenGL state can be quite costly for simple objects.
Add grits_object_queue_draw function
libgis -> grits: Update functions/types/etc
libgis -> grits: Update non-technical references
libgis -> grits: Fix build after rename