2007-03-23 Emmanuele Bassi <ebassi@openedhand.com>

* clutter/clutter-event.c: Pop and peek the event queue
	from the tail - it's a queue, not a stack.

	* clutter/clutter-private.h:
	* clutter/clutter-main.c: Add a boolean signal accumulator.

	* clutter/clutter-stage.[ch]: Add an event argument to
	the 'delete-event' signal; rename the 'input-event' signal
	to 'event'; add the static scope flag to all the stage
	events.
This commit is contained in:
Emmanuele Bassi 2007-03-23 09:59:02 +00:00
parent 93d7454b37
commit fa88ede439
6 changed files with 69 additions and 23 deletions

View File

@ -3,6 +3,16 @@
* clutter/clutter-event.c: Pop and peek the event queue
from the tail - it's a queue, not a stack.
* clutter/clutter-private.h:
* clutter/clutter-main.c: Add a boolean signal accumulator.
* clutter/clutter-stage.[ch]: Add an event argument to
the 'delete-event' signal; rename the 'input-event' signal
to 'event'; add the static scope flag to all the stage
events.
* examples/*.c: Update.
2007-03-22 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.pc.in: Require gobject-2.0 too.

View File

@ -72,7 +72,7 @@ enum
enum
{
INPUT_EVENT,
EVENT,
BUTTON_PRESS_EVENT,
BUTTON_RELEASE_EVENT,
SCROLL_EVENT,
@ -226,7 +226,23 @@ clutter_stage_class_init (ClutterStageClass *klass)
"The color of the main stage",
CLUTTER_TYPE_COLOR,
CLUTTER_PARAM_READWRITE));
/**
* ClutterStage::event:
* @stage: the actor which received the event
* @event: a #ClutterEvent
*
* The ::event signal is emitted each time and event is received
* by the @stage.
*/
stage_signals[EVENT] =
g_signal_new ("event",
G_TYPE_FROM_CLASS (gobject_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (ClutterStageClass, event),
NULL, NULL,
clutter_marshal_VOID__BOXED,
G_TYPE_NONE, 1,
CLUTTER_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
/**
* ClutterStage::button-press-event:
* @stage: the actor which received the event

View File

@ -112,7 +112,7 @@ struct _ClutterStageClass
ClutterMotionEvent *event);
void (* stage_state_event) (ClutterStage *stage,
ClutterStageStateEvent *event);
void (* delete_event) (ClutterStage *stage,
gboolean (* delete_event) (ClutterStage *stage,
ClutterAnyEvent *event);
/* padding for future expansion */

View File

@ -468,8 +468,6 @@ clutter_backend_post_parse
<SECTION>
<FILE>clutter-util</FILE>
clutter_util_trap_x_errors
clutter_util_untrap_x_errors
clutter_util_next_p2
</SECTION>
@ -560,7 +558,7 @@ ClutterAnyEvent
ClutterButtonEvent
ClutterKeyEvent
ClutterMotionEvent
ClutterScollEvent
ClutterScrollEvent
ClutterStageStateEvent
ClutterInputDevice
clutter_event_new

View File

@ -151,6 +151,20 @@ Windowing events handled by Clutter.
@axes:
@device:
<!-- ##### STRUCT ClutterScrollEvent ##### -->
<para>
</para>
@type:
@time:
@x:
@y:
@direction:
@modifier_state:
@axes:
@device:
<!-- ##### STRUCT ClutterStageStateEvent ##### -->
<para>

View File

@ -62,6 +62,14 @@ Macro evaluating to the height of the #ClutterStage
@Param2:
@Returns:
<!-- ##### SIGNAL ClutterStage::event ##### -->
<para>
</para>
@clutterstage: the object which received the signal.
@arg1:
<!-- ##### SIGNAL ClutterStage::key-press-event ##### -->
<para>