$Date: 2005/10/23 20:36:21 $
$Revision: 1.26 $
-- Initialise component scene.
-- Uninitialize scene.
-- This is called right before next scene is displayed.
-- Redefine this to clean up some needed things (openGl properties, images, ...)
-- (From EM_SCENE)
-- Top most component at position a_x a_y
-- List of components
-- Event loop that makes scene running
-- (From EM_SCENE)
-- Scene that should be executed after this scene ends.
-- If next_scene = Void the program just ends.
-- (From EM_SCENE)
-- Surface where scene is drawed
-- (From EM_SCENE)
-- Does Current has a_component to display?
-- Is scene currently running?
-- Otherwise no events are dispatched and no animation will run right now.
-- (From EM_SCENE)
-- If a_value is True make frame counter visible,
-- else make it invisible.
-- (From EM_SCENE)
-- Add a_component to components.
-- we have to create next scene in same thread as the SDL thread
-- this function should point to a feature were next scene is created
-- (From EM_SCENE)
-- Indicates that next scene is set and must be proceeded by
-- the main SDL Thread (syncronise both threads)
-- (From EM_SCENE)
-- Set next_scene to a_scene from an other thread
-- Make sure that start_next_scene is called by the main SDL Thread
-- (From EM_SCENE)
-- Remove a_component from components.
-- Run scene and show it on a_screen.
-- (From EM_SCENE)
-- Stop Current and advance to next_scene.
-- (From EM_SCENE)
-- Call creation procedure for next scene and start this scene immediadely
-- (From EM_SCENE)
-- Animation event, allows animatable objects to perform animation
-- (i.e. moving them selves) before they get drawed.
-- As an argument the reference time in milliseconds is passed
-- up to which the animatable objects should draw them selves.
-- This event gets published right before the scene is redrawed.
-- (From EM_SCENE)
-- Set mouse focus to new_focus.
-- Let all subscribed animatable objects perform their animation.
-- (Calls go_to_time of animatable objects with current time tick)
-- (From EM_SCENE)
-- Subscribe an_animatable to be animated when Current is running.
-- (From EM_SCENE)
-- Unsubscribe an_animatable from beeing animated when Current is running.
-- (From EM_SCENE)
A scene that can contain multiple components.
Components have to be subclasses of EM_COMPONENT. Add new components with add_component.
This enables mixing of widgets, 2D and 3D in one scene.
Implemented components are:
- EM_WIDGET: Display a widget.
- EM_WINDOW: Display a window (a special EM_WIDGET).
- EM_2D_COMPONENT: Use an EM_SURFACE to draw the content of the component.
- EM_3D_COMPONENT: Use OpenGL to draw the component.
The next scene can be set and started using set_next_scene and start_next_scene.
Subclasses must call make_component_scene at creation.