$Date: 2005/10/23 10:57:04 $
$Revision: 1.4 $
-- Initialize with points in a_point_array.
-- (From DS_LINKED_LIST)
-- Initialize with points in a_point_list
-- (From EM_MULTI_POINTED_FIGURE)
-- Routines that ought to be in class ANY
-- (From KL_IMPORTED_ANY_ROUTINES)
-- Equality tester;
-- A void equality tester means that =
-- will be used as comparison criterion.
-- (From DS_SEARCHABLE)
-- Index of current internal cursor position
-- (From DS_LIST)
-- Item at index i
-- (Performance: O(i).)
-- (From DS_INDEXABLE)
-- Item at index i
-- (Performance: O(i).)
-- (From DS_INDEXABLE)
-- New external cursor for traversal
-- (From DS_TRAVERSABLE)
-- Number of items in list
-- (Performance: O(1).)
-- (From DS_CONTAINER)
-- Number of times v appears in list
-- (Use equality_tester's comparison criterion
-- if not void, use = criterion otherwise.)
-- (From DS_SEARCHABLE)
-- Is list equal to other?
-- Do not take cursor positions nor
-- equality_tester into account.
-- (Performance: O(count).)
-- (From ANY)
-- Is there no valid position to left of internal cursor?
-- (From DS_BILINEAR)
-- Can set_equality_tester be called with a_tester
-- as argument in current state of container?
-- (Default answer: True.)
-- (From DS_SEARCHABLE)
-- May list be extended with n items?
-- (From DS_EXTENDIBLE)
-- Does list include v?
-- (Use equality_tester's comparison criterion
-- if not void, use = criterion otherwise.)
-- (From DS_SEARCHABLE)
-- Is container empty?
-- (From DS_CONTAINER)
-- Is internal cursor on first item?
-- (From DS_LINEAR)
-- Is internal cursor on last item?
-- (From DS_BILINEAR)
-- 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)
-- Line color used to draw Current
-- (From EM_FIGURE)
-- Line width used to draw Current
-- (From EM_FIGURE)
-- Is there no item at internal cursor position?
-- (From DS_TRAVERSABLE)
-- Does container use the same comparison
-- criterion as other?
-- (From DS_SEARCHABLE)
-- Are v and u considered equal?
-- (Use equality_tester's comparison criterion
-- if not void, use = criterion otherwise.)
-- (From DS_SEARCHABLE)
-- Is internal cursor at same position as a_cursor?
-- (From DS_TRAVERSABLE)
-- Is container sorted according to a_sorter's criterion?
-- (From DS_SORTABLE)
-- Horizontal position, distance in pixels from left
-- (From EM_DRAWABLE)
-- Vertical position, distance in pixels from top
-- (From EM_DRAWABLE)
-- Set is_size_fixed to a_boolean.
-- (From EM_DRAWABLE)
-- Set x and y to x_position and y_position.
-- Moves all contained points accordingly.
-- (From EM_DRAWABLE)
-- Move internal cursor to last position.
-- (From DS_BILINEAR)
-- Move internal cursor to first position at or before current
-- position where item_for_iteration and v are equal.
-- (Use equality_tester's comparison criterion
-- if not void, use = criterion otherwise.)
-- Move before if not found.
-- (From DS_BILINEAR)
-- Move internal cursor to first position at or after current
-- position where item_for_iteration and v are equal.
-- (Use equality_tester's comparison criterion
-- if not void, use = criterion otherwise.)
-- Move after if not found.
-- (From DS_LINEAR)
-- Add items of other at i-th position.
-- Keep items of other in the same order.
-- Do not move cursors.
-- (Performance: O(i+other.count).)
-- (From DS_INDEXABLE)
-- Add items of other to beginning of list.
-- Keep items of other in the same order.
-- Do not move cursors.
-- (Performance: O(other.count).)
-- (From DS_INDEXABLE)
-- Add items of other to end of list.
-- Keep items of other in the same order.
-- Do not move cursors.
-- (Performance: O(other.count).)
-- (From DS_EXTENDIBLE)
-- Add items of other to left of internal cursor position.
-- Keep items of other in the same order.
-- Do not move cursors.
-- (From DS_LIST)
-- Add items of other to left of a_cursor position.
-- Keep items of other in the same order.
-- Do not move cursors.
-- (Synonym of a_cursor.extend_left (other).)
-- (Performance: O(other.count).)
-- (From DS_LIST)
-- Add items of other to right of internal cursor position.
-- Keep items of other in the same order.
-- Do not move cursors.
-- (From DS_LIST)
-- Add items of other to right of a_cursor position.
-- Keep items of other in the same order.
-- Do not move cursors.
-- (Synonym of a_cursor.extend_right (other).)
-- (Performance: O(other.count).)
-- (From DS_LIST)
-- Add items of other to beginning of list.
-- Keep items of other in the same order.
-- Do not move cursors.
-- (Performance: O(other.count).)
-- (From DS_INDEXABLE)
-- Add items of other to end of list.
-- Keep items of other in the same order.
-- Do not move cursors.
-- (Performance: O(other.count).)
-- (From DS_EXTENDIBLE)
-- Add items of other to left of internal cursor position.
-- Keep items of other in the same order.
-- Do not move cursors.
-- (From DS_LIST)
-- Add items of other to left of a_cursor position.
-- Keep items of other in the same order.
-- Do not move cursors.
-- (Synonym of a_cursor.extend_left (other).)
-- (Performance: O(other.count).)
-- (From DS_LIST)
-- Add items of other to right of internal cursor position.
-- Keep items of other in the same order.
-- Do not move cursors.
-- (From DS_LIST)
-- Add items of other to right of a_cursor position.
-- Keep items of other in the same order.
-- Do not move cursors.
-- (Synonym of a_cursor.extend_right (other).)
-- (Performance: O(other.count).)
-- (From DS_LIST)
-- Add items of other at i-th position.
-- Keep items of other in the same order.
-- Do not move cursors.
-- (Performance: O(i+other.count).)
-- (From DS_INDEXABLE)
-- Add v at i-th position.
-- Do not move cursors.
-- (Performance: O(i).)
-- (From DS_INDEXABLE)
-- Add v to beginning of list.
-- Do not move cursors.
-- (Performance: O(1).)
-- (From DS_INDEXABLE)
-- Add v to end of list.
-- Do not move cursors.
-- (Performance: O(1).)
-- (From DS_EXTENDIBLE)
-- Add v to left of a_cursor position.
-- Do not move cursors.
-- (Synonym of a_cursor.put_left (v).)
-- (Performance: O(1).)
-- (From DS_LIST)
-- Add v to right of a_cursor position.
-- Do not move cursors.
-- (Synonym of a_cursor.put_right (v).)
-- (Performance: O(1).)
-- (From DS_LIST)
-- Add v at i-th position.
-- Do not move cursors.
-- (Performance: O(i).)
-- (From DS_INDEXABLE)
-- Add v to beginning of list.
-- Do not move cursors.
-- (Performance: O(1).)
-- (From DS_INDEXABLE)
-- Add v to left of internal cursor position.
-- Do not move cursors.
-- (From DS_LIST)
-- Add v to left of a_cursor position.
-- Do not move cursors.
-- (Synonym of a_cursor.put_left (v).)
-- (Performance: O(1).)
-- (From DS_LIST)
-- Add v to right of internal cursor position.
-- Do not move cursors.
-- (From DS_LIST)
-- Add v to right of a_cursor position.
-- Do not move cursors.
-- (Synonym of a_cursor.put_right (v).)
-- (Performance: O(1).)
-- (From DS_LIST)
-- Replace item at index i by v.
-- Do not move cursors.
-- (Performance: O(i).)
-- (From DS_INDEXABLE)
-- Replace item at internal cursor position by v.
-- Do not move cursors.
-- (From DS_LIST)
-- Remove all occurrences of v.
-- (Use equality_tester's comparison criterion
-- if not void, use = criterion otherwise.)
-- Move all cursors off.
-- (Performance: O(count).)
-- (From DS_LIST)
-- Keep n first items in list.
-- Move all cursors off.
-- (Performance: O(n).)
-- (From DS_INDEXABLE)
-- Keep n last items in list.
-- Move all cursors off.
-- (Performance: O(count-n).)
-- (From DS_INDEXABLE)
-- Remove n first items from list.
-- Move all cursors off.
-- (Performance: O(n).)
-- (From DS_INDEXABLE)
-- Remove n last items from list.
-- Move all cursors off.
-- (Performance: O(count-n).)
-- (From DS_INDEXABLE)
-- Remove item at beginning of list.
-- Move any cursors at this position forth.
-- (Performance: O(1).)
-- (From DS_INDEXABLE)
-- Remove item at end of list.
-- Move any cursors at this position forth.
-- (Performance: O(count).)
-- (From DS_INDEXABLE)
-- Remove all items from list.
-- Move all cursors off.
-- (Performance: O(1).)
-- (From DS_CONTAINER)
-- Add point to end of list.
-- Do not move cursors.
-- Also extend bounding_box to contain point.
-- (Performance: O(1).)
-- (From DS_EXTENDIBLE)
-- 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)
-- Is a_point on boundary line of Current?
-- Publish mouse event when a_mouse_event occured on Current.
-- Only publish mouse event, if proportional_point lies on Current.
-- (From EM_DRAWABLE)
-- Add a_cursor to the list of traversing cursors
-- (i.e. cursors associated with current container
-- and which are not currently off).
-- (From DS_TRAVERSABLE)
-- Is there no valid position to right of a_cursor?
-- (From DS_LINEAR)
-- Move a_cursor to previous position.
-- (Performance: O(a_cursor.index).)
-- (From DS_BILINEAR)
-- Is there no valid position to left of a_cursor?
-- (From DS_BILINEAR)
-- Move a_cursor to last position.
-- (Performance: O(1).)
-- (From DS_BILINEAR)
-- Move a_cursor to next position.
-- (Performance: O(1).)
-- (From DS_LINEAR)
-- Move a_cursor to i-th position.
-- (Performance: O(i).)
-- (From DS_LIST)
-- Move a_cursor to other's position.
-- (Performance: O(1).)
-- (From DS_TRAVERSABLE)
-- Index of a_cursor's current position
-- (Performance: O(count).)
-- (From DS_LIST)
-- Is a_cursor on first item?
-- (From DS_LINEAR)
-- Is a_cursor on last item?
-- (From DS_BILINEAR)
-- Item at a_cursor position
-- (Performance: O(1).)
-- (From DS_TRAVERSABLE)
-- Is there no item at a_cursor position?
-- (From DS_TRAVERSABLE)
-- Is a_cursor at same position as other?
-- (From DS_TRAVERSABLE)
-- Move a_cursor to first position at or before its current
-- position where cursor_item (a_cursor) and v are equal.
-- (Use equality_tester's comparison criterion
-- if not void, use = criterion otherwise.)
-- Move before if not found.
-- (Performance: O(a_cursor.index).)
-- (From DS_BILINEAR)
-- Move a_cursor to first position at or after its current
-- position where cursor_item (a_cursor) and v are equal.
-- (Use equality_tester's comparison criterion
-- if not void, use = criterion otherwise.)
-- Move after if not found.
-- (From DS_LINEAR)
-- Move a_cursor to first position.
-- (Performance: O(1).)
-- (From DS_LINEAR)
-- Remove a_cursor from the list of traversing cursors
-- (i.e. cursors associated with current container
-- and which are not currently off).
-- (From DS_TRAVERSABLE)
-- Sort container using a_sorter's algorithm.
-- (From DS_SORTABLE)
-- Set equality_tester to a_tester.
-- A void equality tester means that =
-- will be used as comparison criterion.
-- (From DS_SEARCHABLE)
-- 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)
-- 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)
-- Height of Current defining its bounding_box (x, y, width, height).
-- (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)
-- Width of Current defining its bounding_box (x, y, width, height).
-- (From EM_DRAWABLE)
-- First cell in list
-- (From DS_LINKED_LIST)
-- Last cell in list
-- (From DS_LINKED_LIST)
A line going through several points.