Eiffel Media API
Overview Cluster Class Classes Index      Previous Next      Top Features

em.event

Class EM_EVENT_LOOP


Direct ancestors

EM_CONSTANTS, EM_TIME_SINGLETON, EM_SHARED_ERROR_HANDLER, EM_SHARED_SUBSYSTEMS, FASTEVENTS_FUNCTIONS_EXTERNAL, NET2_FUNCTIONS_EXTERNAL

Creation

Features

Invariants

indexing

description

Event loop for EiffelMedia

date

$Date: 2005/10/23 09:07:03 $

revision

$Revision: 1.22 $

class

EM_EVENT_LOOP

create

make_wait

-- Create an event loop that waits for the next event.
-- This kind of event loop does not provide the possibility to
-- add subscribers that will be executed outside the actual
-- event processing.

make_poll

-- Create an event loop that polls pending events,
-- processes them and then executes the code of
-- specific subscribers (TBC)
-- apart from the actual event processing.

feature -- Initialization

make_poll

-- Create an event loop that polls pending events,
-- processes them and then executes the code of
-- specific subscribers (TBC)
-- apart from the actual event processing.

make_wait

-- Create an event loop that waits for the next event.
-- This kind of event loop does not provide the possibility to
-- add subscribers that will be executed outside the actual
-- event processing.

feature -- Events

active_event: EM_EVENT_TYPE [TUPLE [EM_ACTIVE_EVENT]]

-- Active event

expose_event: EM_EVENT_TYPE [TUPLE [EM_EXPOSE_EVENT]]

-- Expose event

joystick_axis_event: EM_EVENT_TYPE [TUPLE [EM_JOYSTICK_AXIS_EVENT]]

-- Joystick axis event

joystick_ball_event: EM_EVENT_TYPE [TUPLE [EM_JOYSTICK_BALL_EVENT]]

-- Joystick ball event

joystick_button_down_event: EM_EVENT_TYPE [TUPLE [EM_JOYSTICK_BUTTON_EVENT]]

-- Joystick button down event

joystick_button_up_event: EM_EVENT_TYPE [TUPLE [EM_JOYSTICK_BUTTON_EVENT]]

-- Joystick button up event

joystick_hat_event: EM_EVENT_TYPE [TUPLE [EM_JOYSTICK_HAT_EVENT]]

-- Joystick hat event

key_down_event: EM_EVENT_TYPE [TUPLE [EM_KEYBOARD_EVENT]]

-- Key down event

key_up_event: EM_EVENT_TYPE [TUPLE [EM_KEYBOARD_EVENT]]

-- Key up event

mouse_button_down_event: EM_EVENT_TYPE [TUPLE [EM_MOUSE_EVENT]]

-- Mouse button down event

mouse_button_up_event: EM_EVENT_TYPE [TUPLE [EM_MOUSE_EVENT]]

-- Mouse button up event

mouse_motion_event: EM_EVENT_TYPE [TUPLE [EM_MOUSE_EVENT]]

-- Mouse motion event

outside_event: EM_EVENT_TYPE [TUPLE []]

-- Outside event, allows the user to perform actions outside the event loop

quit_event: EM_EVENT_TYPE [TUPLE [EM_QUIT_EVENT]]

-- Quit event

resize_event: EM_EVENT_TYPE [TUPLE [EM_RESIZE_EVENT]]

-- Resize event

user_event: EM_EVENT_TYPE [TUPLE [EM_USER_EVENT]]

-- User event

window_manager_event: EM_EVENT_TYPE [TUPLE [EM_WINDOWMANAGER_EVENT]]

-- Window manager event

feature -- Event loop

delay_and_process (milliseconds: INTEGER)

-- Let the event loop process waiting events
-- for milliseconds time.

dispatch

-- Start processing events in the event loop until Current is stoped ('dispose').

process_events

-- Process waiting events for some time.
-- Should be called from time to time by event handlers that
-- perform actions that take long time to
-- keep the system interactive.

process_high_priority

-- Process high priority data that must be available regardless of the
-- time that is available per eventloop.
-- Use it only for polling really time critical data.
-- This does nothing in the default implementation.

start

-- Start the event loop

stop

-- Stop the event loop.

invariant

-- From ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)

end