+
Point of view
All features
class DECORATOR
Summary
Class invariant
Overview
creation features
features
  • expose_paint
    Apply paint with limited depth to the first window.
Adding segments or polygons: In those algorithms we call "segment" any array of one or more points: indeed, of type FAST_ARRAY[POINT]
Adding arcs and pies:
Painting:
Resizing:
Structure: The structure is pretty complex. SEGMENTS:
 - The dictionary has points as keys. Each point links to every segment
   having it (as an end or not!)
 - The list allows fast painting of all segments
 - Polygons are filled segments
ARCS:
 - The dictionary has centers as keys. Each point links to another
   dictionary; this one has (width, height) as keys. Those keys in turn
   point to every arc having this center and this size.
 - The list allows fast painting of all arcs
 - Pies are filled arcs
Basics:
Maximum:
Minimum:
Bits:
expose_paint
effective procedure
Apply paint with limited depth to the first window.
set_geometry (x: INTEGER_32, y: INTEGER_32, w: INTEGER_32, h: INTEGER_32)
effective procedure
std_height: INTEGER_32
effective function
std_width: INTEGER_32
effective function
make (s: BOOLEAN)
effective procedure
scaleable: BOOLEAN
writable attribute
if True, the points are modified when the decorator is resized
add_segment (x1: INTEGER_32, y1: INTEGER_32, x2: INTEGER_32, y2: INTEGER_32)
effective procedure
add_arc (x: INTEGER_32, y: INTEGER_32, w: INTEGER_32, h: INTEGER_32, angle1: INTEGER_32, angle2: INTEGER_32)
effective procedure
add_polygon (x1: INTEGER_32, y1: INTEGER_32, x2: INTEGER_32, y2: INTEGER_32)
effective procedure
add_pie (x: INTEGER_32, y: INTEGER_32, w: INTEGER_32, h: INTEGER_32, angle1: INTEGER_32, angle2: INTEGER_32)
effective procedure
paint (x: INTEGER_32, y: INTEGER_32)
effective procedure
resize (w: INTEGER_32, h: INTEGER_32)
effective procedure
effective procedure
effective procedure
exists_segment (p1: POINT, p2: POINT, dictionary: HASHED_DICTIONARY[FAST_ARRAY[FAST_ARRAY[POINT]], POINT]): BOOLEAN
effective function
try_add_point_to_segment (p: POINT, segs: FAST_ARRAY[FAST_ARRAY[POINT]], anchor: POINT, dictionary: HASHED_DICTIONARY[FAST_ARRAY[FAST_ARRAY[POINT]], POINT], list: FAST_ARRAY[FAST_ARRAY[POINT]])
effective procedure
make_segment_in (p1: POINT, p2: POINT, segs: FAST_ARRAY[FAST_ARRAY[POINT]], list: FAST_ARRAY[FAST_ARRAY[POINT]])
effective procedure
make_segment (p1: POINT, p2: POINT, dictionary: HASHED_DICTIONARY[FAST_ARRAY[FAST_ARRAY[POINT]], POINT], list: FAST_ARRAY[FAST_ARRAY[POINT]])
effective procedure
join (seg1: FAST_ARRAY[POINT], seg2: FAST_ARRAY[POINT], first: BOOLEAN, backwards: BOOLEAN)
effective procedure
Add seg2 to seg1.
effective procedure
last_x: INTEGER_32
writable attribute
last_y: INTEGER_32
writable attribute
do_paint_segments (x: INTEGER_32, y: INTEGER_32, fill: BOOLEAN, list: FAST_ARRAY[FAST_ARRAY[POINT]])
effective procedure
do_paint_arcs (x: INTEGER_32, y: INTEGER_32, fill: BOOLEAN, list: FAST_ARRAY[ARC])
effective procedure
do_resize (w: INTEGER_32, h: INTEGER_32)
effective procedure
do_scale_segments (scale_w: REAL_64, scale_h: REAL_64)
effective procedure
do_scale_arcs (scale_w: REAL_64, scale_h: REAL_64)
effective procedure
do_scale_polygons (scale_w: REAL_64, scale_h: REAL_64)
effective procedure
do_scale_pies (scale_w: REAL_64, scale_h: REAL_64)
effective procedure
writable attribute
writable attribute
writable attribute
writable attribute
all_arcs: FAST_ARRAY[ARC]
writable attribute
all_segments: FAST_ARRAY[FAST_ARRAY[POINT]]
writable attribute
all_pies: FAST_ARRAY[ARC]
writable attribute
all_polygons: FAST_ARRAY[FAST_ARRAY[POINT]]
writable attribute
basic_guikit_drawlines (peer: POINTER, points: POINTER, count_points: INTEGER_32, dx: INTEGER_32, dy: INTEGER_32)
basic_guikit_fillpolygon (peer: POINTER, points: POINTER, count_points: INTEGER_32, dx: INTEGER_32, dy: INTEGER_32)
basic_guikit_drawarcs (peer: POINTER, arcs: POINTER, count_arcs: INTEGER_32, dx: INTEGER_32, dy: INTEGER_32)
basic_guikit_fillarcs (peer: POINTER, arcs: POINTER, count_arcs: INTEGER_32, dx: INTEGER_32, dy: INTEGER_32)
basic_guikit_point_size: INTEGER_32
basic_guikit_arc_size: INTEGER_32
set_widget (w: POINTER)
effective procedure
widget: POINTER
writable attribute
width: INTEGER_32
writable attribute
height: INTEGER_32
writable attribute
min_width: INTEGER_32
constant attribute
min_height: INTEGER_32
constant attribute
max_width: INTEGER_32
once function
max_height: INTEGER_32
once function
parent: CONTAINER
writable attribute
pos_x: INTEGER_32
writable attribute
pos_y: INTEGER_32
writable attribute
x_shrink_allowed: BOOLEAN
writable attribute
x_expand_allowed: BOOLEAN
writable attribute
y_shrink_allowed: BOOLEAN
writable attribute
y_expand_allowed: BOOLEAN
writable attribute
valid_width (w: INTEGER_32): BOOLEAN
effective function
valid_height (h: INTEGER_32): BOOLEAN
effective function
area: RECT
effective function
root_area: RECT
effective function
set_x_shrink (b: BOOLEAN)
effective procedure
set_x_expand (b: BOOLEAN)
effective procedure
set_y_shrink (b: BOOLEAN)
effective procedure
set_y_expand (b: BOOLEAN)
effective procedure
set_shrink (b: BOOLEAN)
effective procedure
change both x and y shrink state
set_expand (b: BOOLEAN)
effective procedure
change both x and y expand state
set_parent (p: CONTAINER)
effective procedure
computing_size: BOOLEAN
effective function
state: INTEGER_32
writable attribute
use values from STATE_CONSTANTS
is_state_normal: BOOLEAN
frozen
effective function
is_state_active: BOOLEAN
frozen
effective function
is_state_prelight: BOOLEAN
frozen
effective function
is_state_selected: BOOLEAN
frozen
effective function
is_state_insensitive: BOOLEAN
frozen
effective function
set_state_normal
frozen
effective procedure
set_state_active
frozen
effective procedure
set_state_prelight
frozen
effective procedure
set_state_selected
frozen
effective procedure
set_state_insensitive
frozen
effective procedure
set_state (n: INTEGER_32)
effective procedure
renderer: RENDERER
once function
state_normal: INTEGER_32
constant attribute
state_active: INTEGER_32
constant attribute
state_prelight: INTEGER_32
constant attribute
state_selected: INTEGER_32
constant attribute
state_insensitive: INTEGER_32
constant attribute
Maximum_character_code: INTEGER_16
Largest supported code for CHARACTER values.
Maximum_integer_8: INTEGER_8
constant attribute
Largest supported value of type INTEGER_8.
Maximum_integer_16: INTEGER_16
constant attribute
Largest supported value of type INTEGER_16.
Maximum_integer: INTEGER_32
constant attribute
Largest supported value of type INTEGER/INTEGER_32.
Maximum_integer_32: INTEGER_32
constant attribute
Largest supported value of type INTEGER/INTEGER_32.
Maximum_integer_64: INTEGER_64
constant attribute
Largest supported value of type INTEGER_64.
Maximum_real_32: REAL_32
constant attribute
Largest non-special (no NaNs nor infinity) supported value of type REAL_32.
Maximum_real: REAL_64
Largest non-special (no NaNs nor infinity) supported value of type REAL.
Maximum_real_64: REAL_64
Largest non-special (no NaNs nor infinity) supported value of type REAL.
Maximum_real_80: REAL_EXTENDED
Largest supported value of type REAL_80.
Minimum_character_code: INTEGER_16
Smallest supported code for CHARACTER values.
Minimum_integer_8: INTEGER_8
constant attribute
Smallest supported value of type INTEGER_8.
Minimum_integer_16: INTEGER_16
constant attribute
Smallest supported value of type INTEGER_16.
Minimum_integer: INTEGER_32
constant attribute
Smallest supported value of type INTEGER/INTEGER_32.
Minimum_integer_32: INTEGER_32
constant attribute
Smallest supported value of type INTEGER/INTEGER_32.
Minimum_integer_64: INTEGER_64
constant attribute
Smallest supported value of type INTEGER_64.
Minimum_real_32: REAL_32
constant attribute
Smallest non-special (no NaNs nor infinity) supported value of type REAL_32.
Minimum_real: REAL_64
Smallest non-special (no NaNs nor infinity) supported value of type REAL.
Minimum_real_64: REAL_64
Smallest non-special (no NaNs nor infinity) supported value of type REAL.
Minimum_real_80: REAL_64
Smallest supported value of type REAL_80.
Boolean_bits: INTEGER_32
Number of bits in a value of type BOOLEAN.
Character_bits: INTEGER_32
Number of bits in a value of type CHARACTER.
Integer_bits: INTEGER_32
Number of bits in a value of type INTEGER.
Real_bits: INTEGER_32
constant attribute
Number of bits in a value of type REAL.
Pointer_bits: INTEGER_32
Number of bits in a value of type POINTER.