class PIXMAP

Features exported to DRAW_STYLE

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).

Direct parents

conformant parents

DRAWABLE, GRAPHIC, SENSITIVE

Summary

creation features

exported features

Details

make (width_: INTEGER, height_: INTEGER)

The pixmap is created with default_draw_kit color.

require

  • width_ > 0
  • height_ > 0

make (width_: INTEGER, height_: INTEGER)

The pixmap is created with default_draw_kit color.

require

  • width_ > 0
  • height_ > 0

width: INTEGER
height: INTEGER
depth: INTEGER
min_width: INTEGER
min_height: INTEGER
std_width: INTEGER
std_height: INTEGER
background_color: COLOR

TODO: used ? no style ?

set_background_color (c: COLOR)

Define the color to use to clear the pixmap (pixmap is left unchanged). TODO: use this color for clear

require

  • c /= Void

clear_without_expose

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

drawing_widget: POINTER

Because Windows can not paint on widgets like windows or bitmaps, it needs another object (Device Context) attached to the widget. For X11, it is the same value as widget.

parent: CONTAINER
pos_x: INTEGER
pos_y: INTEGER
x_shrink_allowed: BOOLEAN
x_expand_allowed: BOOLEAN
y_shrink_allowed: BOOLEAN
y_expand_allowed: BOOLEAN
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: PIXMAP): 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)

widget: POINTER

widget identifier from the native graphic API.

Class invariant