X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fobjects%2Fgrits-object.h;h=9969278b5114891034bb9817cbd692b698d2c29c;hb=e8af1dabca07d2b7a26369d845a81efeae3e08a0;hp=440a1dfffe5c37e7100c37c31f721dfb73e2ce5f;hpb=98eee86d69c0ee2aa198270e55b8b815c1914567;p=grits diff --git a/src/objects/grits-object.h b/src/objects/grits-object.h index 440a1df..9969278 100644 --- a/src/objects/grits-object.h +++ b/src/objects/grits-object.h @@ -57,6 +57,7 @@ struct _GritsObject { guint32 skip; // Bit mask of safe operations GritsState state; // Internal, used for picking + GdkCursor *cursor; // Internal, cached cursor }; struct _GritsObjectClass { @@ -76,10 +77,9 @@ void grits_object_draw(GritsObject *object, GritsOpenGL *opengl); void grits_object_hide(GritsObject *object, gboolean hidden); /* Interal, used by grits_opengl */ -void grits_object_pick_begin(GritsObject *object, GritsOpenGL *opengl); -void grits_object_pick_pointer(GritsObject *object, double x, double y); -void grits_object_pick_end(GritsObject *object); -void grits_object_event(GritsObject *object, GdkEvent *event); +void grits_object_pick(GritsObject *object, GritsOpenGL *opengl); +gboolean grits_object_set_pointer(GritsObject *object, GdkEvent *event, gboolean selected); +gboolean grits_object_event(GritsObject *object, GdkEvent *event); /** * grits_object_queue_draw: @@ -89,6 +89,15 @@ void grits_object_event(GritsObject *object, GdkEvent *event); */ void grits_object_queue_draw(GritsObject *object); +/** + * grits_object_set_cursor: + * @object: The #GritsObject to set the cursor for + * @cursor: The cursor to use when the object is hovered over + * + * Causes the cursor to use a particular icon when located over a given object + */ +void grits_object_set_cursor(GritsObject *object, GdkCursorType cursor); + /** * grits_object_center: * @object: The #GritsObject to get the center of