deferred class DRAWABLE

Features exported to ANY

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

TODO: add clear_area ?

Direct parents

conformant parents

WIDGET

non-conformant parents

HASHABLE

Known children

conformant children

CONTAINER, IMAGE, PIXMAP

Summary

exported features

Details

deferred clear_without_expose

clear the all the drawable area. WARNING: don't redraw the content (no expose event)

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
deferred width: INTEGER
deferred 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

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
deferred hash_code: INTEGER

The hash-code value of Current.

ensure

  • good_hash_value: Result >= 0

deferred is_equal (other: DRAWABLE): BOOLEAN

Is other attached to an object considered equal to current object ?

require

  • other /= Void

ensure

  • Result implies hash_code = other.hash_code
  • commutative: generating_type = other.generating_type implies Result = other.is_equal(Current)

Class invariant