$Date: 2005/10/23 11:07:51 $
$Revision: 1.12 $
-- Initialise widget scene.
-- Initialize the scene.
-- (From EM_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)
-- Background of widget
-- (From EM_WIDGET)
-- Top most component at position a_x a_y
-- (From EM_COMPONENT_SCENE)
-- Delegate which draws widget
-- (From EM_WIDGET)
-- Event loop that makes scene running
-- (From EM_SCENE)
-- Foreground color of widget
-- (From EM_WIDGET)
-- 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)
-- Surface to draw on
-- (From EM_2D_COMPONENT)
-- Tooltip of Current
-- (From EM_COMPONENT)
-- Does Current has a_component to display?
-- (From EM_COMPONENT_SCENE)
--Is a_widget present on this widget?
-- (From EM_WIDGET)
-- Is this widget changed since last draw?
-- (From EM_WIDGET)
-- Is Current enabled?
-- (From EM_COMPONENT)
-- Does Current handle joystick events?
-- (From EM_INPUT_SENSITIVE)
-- Does Current handle keyboard events?
-- (From EM_INPUT_SENSITIVE)
-- Does Current handle mouse events?
-- (From EM_INPUT_SENSITIVE)
-- Is scene currently running?
-- Otherwise no events are dispatched and no animation will run right now.
-- (From EM_SCENE)
-- Is Current visible?
-- (From EM_COMPONENT)
-- Hide Current.
-- This will trigger a hide event.
-- (From EM_COMPONENT)
-- Set this widget's changed status to true.
-- This also sets the changed status of the parent widget (if any) to true.
-- (From EM_WIDGET)
-- If a_value is True make frame counter visible,
-- else make it invisible.
-- (From EM_SCENE)
-- Set joystick sensitivity status.
-- (From EM_INPUT_SENSITIVE)
-- Set keyboard sensitivity status.
-- (From EM_INPUT_SENSITIVE)
-- Set mouse sensitivity status.
-- (From EM_INPUT_SENSITIVE)
-- Show Current.
-- This will trigger a show event.
-- (From EM_COMPONENT)
-- Add a_component to components.
-- (From EM_COMPONENT_SCENE)
-- Add a_widget to nested widgets.
-- (From EM_WIDGET)
-- 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 dimension to optimal_width optimal_height.
-- (From EM_WIDGET)
-- Set background to a_background.
-- (From EM_WIDGET)
-- Set background to display a_color as color.
-- If a_color has an alpha value of 255, an EM_COLOR_BACKGROUND will be used.
-- Otherwise an EM_ALPHA_COLOR_BACKGROUND or an
-- EM_TRANSPARENT_BACKGROUND is used.
-- (From EM_WIDGET)
-- Set foreground_color to a_color.
-- (From EM_WIDGET)
-- 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)
-- Set optimal dimension to a_width a_height.
-- The dimenson of the widget will not change, but subsequent calls to optimal_width
-- and optimal_height will return a_width and a_height. Also a call to resize_to_optimal_dimension
-- will set the widget's dimension to a_width a_height.
-- This setting will overwrite the optimal dimension definded by the widget delegate.
-- If a negative width or height is set, the optimal dimension will be set by the
-- delegate again.
-- (From EM_WIDGET)
-- Set background to an EM_TRANSPARENT_BACKGROUND.
-- (From EM_WIDGET)
-- Set background to be transparent and use a_color as transparent colorkey (this color will be 100% transparent).
-- This sets the background to a EM_COLOR_BACKGROUND using a_color as color and
-- also sets the transparent colorkey of the surface to a_color
-- (From EM_WIDGET)
-- Remove a_component from components.
-- (From EM_COMPONENT_SCENE)
-- Remove a_widget from nested widgets.
-- (From EM_WIDGET)
-- Remove all components.
-- (From EM_COMPONENT_SCENE)
-- Set dimension to a_width a_height.
-- This will trigger a resize event.
-- (From EM_COMPONENT)
-- Set height to a_height.
-- (From EM_COMPONENT)
-- React on a frame change.
-- This can be used to animate a widget.
-- (From EM_WIDGET)
-- 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)
-- Update all display data according to new theme.
-- (From EM_WIDGET)
-- Draw Current.
-- (From EM_COMPONENT)
-- Finish drawing Current.
-- (From EM_COMPONENT)
-- Prepare for drawing Current.
-- (From EM_COMPONENT)
-- 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)
-- Focus lost event
-- (From EM_KEYBOARD_SENSITIVE)
-- Focus received event
-- (From EM_KEYBOARD_SENSITIVE)
-- Component hidden event
-- (From EM_COMPONENT)
-- Joystick axis event
-- (From EM_JOYSTICK_SENSITIVE)
-- Joystick ball event
-- (From EM_JOYSTICK_SENSITIVE)
-- Joystick button down event
-- (From EM_JOYSTICK_SENSITIVE)
-- Joystick button up event
-- (From EM_JOYSTICK_SENSITIVE)
-- Joystick hat event
-- (From EM_JOYSTICK_SENSITIVE)
-- Key down event
-- (From EM_KEYBOARD_SENSITIVE)
-- Key up event
-- (From EM_KEYBOARD_SENSITIVE)
-- Mouse button down event
-- (From EM_MOUSE_SENSITIVE)
-- Mouse button up event
-- (From EM_MOUSE_SENSITIVE)
-- Mouse clicked event
-- (From EM_MOUSE_SENSITIVE)
-- Mouse drag start event
-- (From EM_MOUSE_SENSITIVE)
-- Mouse drag stop event
-- (From EM_MOUSE_SENSITIVE)
-- Mouse dragged event
-- (From EM_MOUSE_SENSITIVE)
-- Mouse entered event
-- (From EM_MOUSE_SENSITIVE)
-- Mouse exited event
-- (From EM_MOUSE_SENSITIVE)
-- Mouse moved event
-- (From EM_MOUSE_SENSITIVE)
-- Mouse wheel down event
-- (From EM_MOUSE_SENSITIVE)
-- Mouse wheel up event
-- (From EM_MOUSE_SENSITIVE)
-- Component moved event
-- (From EM_COMPONENT)
-- Component resized event
-- (From EM_COMPONENT)
-- Component shown event
-- (From EM_COMPONENT)
-- Handle mouse button down event.
-- (From EM_COMPONENT)
-- Handle mouse button down event.
-- Set new keyboard focus if applicable.
-- (From EM_COMPONENT)
-- Handle mouse clicked event.
-- (From EM_COMPONENT)
-- Handle mouse drag start event.
-- (From EM_COMPONENT)
-- Handle mouse-drag drop event.
-- (From EM_COMPONENT)
-- Handle mouse dragging event.
-- (From EM_COMPONENT)
-- Handle mouse entered event.
-- (From EM_COMPONENT)
-- Handle mouse exited event.
-- (From EM_COMPONENT)
-- Handle mouse motion event.
-- (From EM_COMPONENT)
-- Handle mouse wheel down event.
-- (From EM_COMPONENT)
-- Handle mouse wheel up event.
-- (From EM_COMPONENT)
-- Set mouse focus to new_focus.
-- (From EM_COMPONENT_SCENE)
-- 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)
-- Parent of this widget. The changed status will be forwarded to the parent.
-- (From EM_WIDGET)
-- Set parent_widget to a_widget.
-- If the parent is alredy set, this widget will be removed from the old parent!
-- (From EM_WIDGET)
-- Topmost parent or Current if no parent is set
-- (From EM_WIDGET)
Scene that contains EM_WIDGET's.
Widgets can be added using add_widget.
The next scene can be set and started using set_next_scene and start_next_scene.
Subclasses must call make_widget_scene at creation.