$Date: 2005/10/23 16:40:13 $
$Revision: 1.5 $
-- Initialize Current to transform a_drawable when drawing.
-- Initialize Current to transform a_drawable when drawing.
-- Trigonometric arccosine of radian v
-- in the range [0, pi]
-- (From DOUBLE_MATH)
-- Trigonometric arcsine of radian v
-- in the range [-pi/2, +pi/2]
-- (From DOUBLE_MATH)
-- Trigonometric arctangent of radian v
-- in the range [-pi/2, +pi/2]
-- (From DOUBLE_MATH)
-- Least integral greater than or equal to v
-- (From DOUBLE_MATH)
-- Trigonometric cosine of radian v approximated
-- in the range [-pi/4, +pi/4]
-- (From DOUBLE_MATH)
-- Absolute of v
-- (From DOUBLE_MATH)
-- Greatest integral less than or equal to v
-- (From DOUBLE_MATH)
-- Natural logarithm of v
-- (From DOUBLE_MATH)
-- Base 10 logarithm of v
-- (From DOUBLE_MATH)
-- Base 2 logarithm of v
-- (From DOUBLE_MATH)
-- Trigonometric sine of radian v approximated
-- in range [-pi/4, +pi/4]
-- (From DOUBLE_MATH)
-- Square root of v
-- (From DOUBLE_MATH)
-- Trigonometric tangent of radian v approximated
-- in range [-pi/4, +pi/4]
-- (From DOUBLE_MATH)
-- Drawable that is transformed
-- Is the transformation done with anti aliasing?
-- Should Current not scale when drawed?
-- True means that the object will be drawed unscaled
-- but its position (reference_point) will still be transformed correctly
-- if drawed on a transformed scaled coordinate system
-- (This is handled accordingly by draw_object of EM_SURFACE)
-- (From EM_DRAWABLE)
-- Rotation angle by which to rotate drawable around rotation_center (in degree)
-- Rotation center relative to position of drawable
-- Horizontal position, distance in pixels from left
-- (From EM_DRAWABLE)
-- Vertical position, distance in pixels from top
-- (From EM_DRAWABLE)
-- Zoom factor by which to zoom drawable
-- Draw Current with a_drawing_interface.
-- (From EM_DRAWABLE)
-- Set is_anti_aliasing_enabled to a_bool.
-- Set is_size_fixed to a_boolean.
-- (From EM_DRAWABLE)
-- Calculate bounding_box where Current draws the transformed drawable.
-- Draw rectangular part of Current defined by a_rect to a_surface.
-- (Subclasses could redefine this feature for providing an implementation
-- with better performance, otherwise its just done per default by
-- transforming and clipping coordinates on a_surface before calling draw).
-- (From EM_DRAWABLE)
-- Have events been initialized?
-- (From EM_DRAWABLE)
-- Event initialization.
-- Needs to be called before subscribing for events.
-- (From EM_DRAWABLE)
-- Mouse button down event,
-- gets published when the mouse button is pressed over Current,
-- an EM_MOUSEBUTTON_EVENT is passed as argument
-- (From EM_DRAWABLE)
-- Mouse button up event,
-- gets published when the mouse button is released over Current,
-- an EM_MOUSEBUTTON_EVENT is passed as argument
-- (From EM_DRAWABLE)
-- Mouse button up event,
-- gets published when the mouse button is released over Current,
-- an EM_MOUSEMOTION_EVENT is passed as argument
-- (From EM_DRAWABLE)
-- Publish mouse event when a_mouse_event occured on Current.
-- Descendants should redefine this feature
-- for only catching and publishing their mouse events when mouse pointer
-- is realy inside object or for
-- distributing mouse events to child objects.
-- (From EM_DRAWABLE)
-- Orthogonal rectangle surrounding Current; (i.e. usefull
-- for visibility testing if it intersects with
-- coordinate_area of EM_SURFACE) TODO: We create a new
-- one on each call. Maybe there is a more efficient way to
-- do that?
-- (From EM_DRAWABLE)
-- Reference point of Current relative to which it should be positioned.
-- (i.e. important when drawn on a scaled coordinate system and is_size_fixed is True)
-- (From EM_DRAWABLE)
A wrapper / adaptor for a drawable to make it rotateable and zoomable.
The position and size of such objects is defined through the transformed drawable.
Changing the position of an EM_TRANSFORMER is posiible (set_x_y)
but changing any of the transformation parameters will recalculate Currents position.
EM_TRANSFORMER should not be used to excessively because it uses a buffer to draw
the drawable before rotating it. Especially when you only want to zoom and/or scroll
your drawable, beter use an EM_ZOOMABLE_CONTAINER.