mirror of
https://github.com/brl/mutter.git
synced 2025-06-14 01:09:30 +00:00
2006-06-05 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-color.h: * clutter-color.c: Reimplement ClutterColor as a boxed type; add convenience API for color handling, like: add, subtract, shade, HSL color-space conversion, packing and unpacking. * clutter-private.h: Update ClutterMainContext, and export the main context pointer here. * clutter-rectangle.h: * clutter-rectangle.c: Update the color-related code; make clutter_rectangle_new() and empty constructor and provide clutter_rectangle_new_with_color(); provide color setter and getter API. * clutter-label.h: * clutter-label.c: Rename the "font" property to "font-name"; update the color-related code to the new ClutterColor object; rename clutter_label_new() to clutter_label_new_with_text(), and add setters and getters for the properties. * clutter-marshal.list: Add VOID:OBJECT and VOID:BOXED marshallers generators. * clutter-stage.h: * clutter-stage.c: Rework the API: provide a default constructor for a singleton object, named clutter_stage_get_default(), which supercedes the clutter_stage() function in clutter-main; provide new events: button-press-event, button-release-event, key-press-event and key-release-event; update the color-related code; (clutter_stage_snapshot): Allow negative width and height when taking a snapshot (meaning: use full width/height). (clutter_stage_get_element_at_pos): Rename clutter_stage_pick(). * clutter-element.c (clutter_element_paint): Clean up the stage and color related code. * clutter-event.h: * clutter-event.c: Add generic ClutterAnyEvent type; add clutter_event_new(), clutter_event_copy() and clutter_event_free(); make ClutterEvent a boxed type. * clutter-main.h: * clutter-main.c: Remove clutter_stage(); add clutter_main_quit(), for cleanly quitting from clutter_main(); add multiple mainloops support; allocate the ClutterCntx instead of adding it to the stack; re-work the ClutterEvent dispatching. * clutter-group.c (clutter_group_add), (clutter_group_remove): Keep a reference on the element when added to a ClutterGroup. * examples/rects.py * examples/test.c: * examples/test-text.c: * examples/video-cube.c: * examples/super-oh.c: * examples/test-video.c: Update.
This commit is contained in:
@ -988,3 +988,47 @@ clutter_keysym_to_unicode (guint keyval)
|
||||
return 0;
|
||||
}
|
||||
|
||||
ClutterEvent *
|
||||
clutter_event_new (ClutterEventType type)
|
||||
{
|
||||
ClutterEvent *new_event;
|
||||
|
||||
new_event = g_new0 (ClutterEvent, 1);
|
||||
new_event->any.type = type;
|
||||
|
||||
return new_event;
|
||||
}
|
||||
|
||||
ClutterEvent *
|
||||
clutter_event_copy (ClutterEvent *event)
|
||||
{
|
||||
ClutterEvent *new_event;
|
||||
|
||||
g_return_val_if_fail (event != NULL, NULL);
|
||||
|
||||
new_event = g_new (ClutterEvent, 1);
|
||||
*new_event = *event;
|
||||
|
||||
return new_event;
|
||||
}
|
||||
|
||||
void
|
||||
clutter_event_free (ClutterEvent *event)
|
||||
{
|
||||
if (!event)
|
||||
return;
|
||||
|
||||
g_free (event);
|
||||
}
|
||||
|
||||
GType
|
||||
clutter_event_get_type (void)
|
||||
{
|
||||
static GType our_type = 0;
|
||||
|
||||
if (!our_type)
|
||||
our_type = g_boxed_type_register_static ("ClutterEvent",
|
||||
(GBoxedCopyFunc) clutter_event_copy,
|
||||
(GBoxedFreeFunc) clutter_event_free);
|
||||
return our_type;
|
||||
}
|
||||
|
Reference in New Issue
Block a user