deferred class LINE

Features exported to LAYOUT

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

Direct parents

conformant parents

DRAWABLE_HANDLER, GRAPHIC, WIDGET

Known children

conformant children

HORIZONTAL_LINE, VERTICAL_LINE

Summary

exported features

Details

width: INTEGER
height: INTEGER
thickness: INTEGER
style: DRAW_STYLE
deferred set_thickness (thick: INTEGER)

Set the thickness of the line (drawing' witdh)

require

  • thick > 0

ensure

  • thick = thickness

set_style (s: DRAW_STYLE)

Change the style used to draw the line. NOTE: The screen is not updated. --TODO: change this ?

ensure

  • style = s

reset_default_style

The renderer will be used to draw the line. NOTE: The screen is not updated. --TODO: change this ?

set_geometry (x: INTEGER, y: INTEGER, w: INTEGER, h: INTEGER)

require

  • x >= 0
  • y >= 0
  • w >= min_width
  • h >= min_height

ensure

  • width = w
  • height = h

parent: CONTAINER
pos_x: INTEGER
pos_y: INTEGER
x_shrink_allowed: BOOLEAN
x_expand_allowed: BOOLEAN
y_shrink_allowed: BOOLEAN
y_expand_allowed: BOOLEAN
deferred min_width: INTEGER
deferred min_height: INTEGER
deferred std_width: INTEGER
deferred std_height: INTEGER
valid_width (w: INTEGER): BOOLEAN
valid_height (h: INTEGER): BOOLEAN
area: RECT
root_area: RECT
set_x_shrink (b: BOOLEAN)
set_x_expand (b: BOOLEAN)
set_y_shrink (b: BOOLEAN)
set_y_expand (b: BOOLEAN)
set_shrink (b: BOOLEAN)

change both x and y shrink state

set_expand (b: BOOLEAN)

change both x and y expand state

deferred expose_paint

expose_paint paint with depth limited to the first window Containers have to propagate, with special attention to windows where expose_paint do nothing.

state: INTEGER

use values from STATE_CONSTANTS

frozen is_state_normal: BOOLEAN
frozen is_state_active: BOOLEAN
frozen is_state_prelight: BOOLEAN
frozen is_state_selected: BOOLEAN
frozen is_state_insensitive: BOOLEAN

Class invariant