lib/vision

ALIGNABLE
 Helper class to write alignable variant. See for example LABEL_ALIGNABLE
 Alignment is useful only if x_expand_allowed or y_expand_allowed
 is `True' and the space given to the object is bigger than it's
 standard size.

ALIGNMENT_CONSTANTS
 

ALIGNMENT
 This class is used to describe widget position inside area
 choosen by the container's layout.
 x is in range 0.0 to 1.0 from left to right (0.5 is the middle)
 y is in range 0.0 to 1.0 from top to bottom (0.5 is the middle)
 Alignment is useful only if x_expand_allowed or y_expand_allowed
 is `True' and the space given to the object is bigger than it's
 standard size.

BASIC_FONT
 BASIC_FONT describe basic font properties (like size, font family...)
 and allow to draw characters (see class `FONT' for options like
 underline).
 Use `FONT_MANAGER' for `BASIC_FONT' creation.

COMBO
 Allow to select one element from a list.

COMBO_HANDLE
 

CONTAINER
 A CONTAINER is designed to contain many widgets (called children).
 Children are arranged in the container using some LAYOUT, and painted.
 The CONTAINER may be seen as a shell: if the container is not
 shrinkable, it will not shrink any of it's children. If the
 container is shrinkable, it may shrink children that are shrinkable
 but never shrink not shrinkable children (it's like a shell again).

 The LAYOUT is an algorithm attached to the container. It has to
 decide size and position for children.

CURSOR_SPACE
 This class is only for inserting one pixel wide space to draw text cursor.

DRAWABLE
 DRAWABLE is common classe for surfaces with painting
 capabilities (like WINDOWs and PIXMAPs).

DRAWABLE_HANDLER
 DRAWABLE_HANDLER is common class for objects who need low-level
 access to DRAWABLE objects for basic drawing services.

 ------------------------------------------------------------------------------------------------------------------------------
 Copyright notice below. Please read.

 This file is free software, which comes along with SmartEiffel. This software is distributed in the hope that it will be
 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 You can modify it as you want, provided this footer is kept unaltered, and a notification of the changes is added.
 You are allowed to redistribute it and sell it, alone or as a part of another product.

 Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P.       - University of Nancy 1 - FRANCE
 Copyright(C) 2003-2004: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE

 Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN

 http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
 ------------------------------------------------------------------------------------------------------------------------------

DRAW_KIT
 DRAW_KIT is a tool to make some free drawing, you may consider
 it as a pen. You can draw points, lines, rectangles, arcs, words...
 Difference with DRAW_STYLE is that you pre-select the drawable
 to draw into and drawing functions automatically use this drawable.

DRAW_STYLE
 DRAW_STYLE is low-level service who describe drawing attributes
 (color, line width, font...)

EVENT_CATCHER
 EVENT_CATCHER is the `JOB' that handle graphic interface
 relative events. The event_catcher wait for such events and
 emit signal relative to this event. Previously registred
 procedure (via vision.*_connect) are executed.

 For more information about `JOB', see lib/sequencer and
 tutorial/sequencer directories.

FILL_RECTANGLE
 

FONT
 Class `FONT' allow to draw characters in style defined by some
 `BASIC_FONT' and add some decoration like underline.

FONT_MANAGER
 The font manager is singleton accessible via `font_manager'
 from `GRAPHIC'. This class help to find the font on the system best
 matching given whishes.
 All created fonts are accessible in `fonts' attribute, the
 default font on the system is the first one.

GRAPHIC_CONNECTION
 This internal class allow to see the graphic connection as a
 file who the sequencer has to wait data from.
 Some graphic program may wait data from multiple source (files)
 and wait for user requests (from the user interface) at the same time.
 See lib/sequencer for more details.

GRAPHIC
 

HORIZONTAL_LINE
 `HORIZONTAL_LINE' is a widget you can use as separator. As it's
 a widget, position and size are managed by the layout
 associated with the container the line is put into.

IMAGE
 This class allow to draw an image in memory (process memory)
 and send it to the display. Each draw require lots of network
 if the display is remote. A draw require hard work to convert
 the image into display format (be the display local or remote).
 See `PIXMAP' for image stored in the "display" memory.

LABEL_ALIGNABLE
 Like `LABEL' with alignment capabilities. See `ALIGNABLE'

LABEL
 `LABEL' is a widget to draw (unicode) string.
 See class `TEXT_FIELD' if you want to allow the user to edit
 the string.

LINE
 Use line as widget (insert in container then position, draw and size
 are automatic). Common ancestor for `HORIZONTAL_LINE' and `VERTICAL_LINE'

MENU_BAR
 

MENU
 

PIXMAP
 `PIXMAP' is `DRAWABLE' area like `WINDOW' but allow you to draw "off
 the screen" and the put it on the screen at any time.
 The pixmap is in display memory, not in the process' memory
 (see also `IMAGE').

RECTANGLE
 Use rectangle as widget (insert in container then position, draw
 and size are automatic).

RECT
 Describe rectangular area.

SENSITIVE
 SENSITIVE is common class for objects who the system may send events.

STATE_CONSTANTS
 Constants state values.

STATE
 This class describe the state of widgets.

TEXT_CURSOR_JOB
 Draw blinking cursor in text area.

TEXT_FIELD
 Class creates a text field which allows the user to grab a single line
 of text.

VERTICAL_LINE
 `VERTICAL_LINE' is a widget you can use as separator. As it's
 a widget, position and size are managed by the layout
 associated with the container the line is put into.

VISION
 `VISION' object is singleton, accessible via `vision' from `GRAPHIC'
 This object is responsible of "graphic mode" initialisation and
 graphic events management.
 This class give access to the events' loop (see also `start')
 and to the display size.

VISION_LOOP_STACK
 It's some loop_stack (see lib/sequencer) `EVENT_CATCHER' as
 "special job". Use it like `LOOP_STACK'.

WIDGET
 WIDGET is the most abstract class for all graphics objects.
 width and height are current object size
 min_width and min_height are the absolute minimal size
 std_width and std_height are the needed dimensions to see the
 entire object

 If the object may not be shrink, size >= std
 If the object may be shrink, size >= min
 If the object may not be expanded, size <= std
 If the object may be expanded, size may increase