class interface ICO_BITMAP
creation
make (a_block: F_MEMORY)
-- Initialise from memory block.
require
not_void: a_block /= Void
make_rgb
-- Make blank header for 24bit RGB bitmap.
ensure
is_valid: is_valid
make_mono
-- Blank header for uncompressed 256 color bitmap.
ensure
is_valid
make_16_colors
-- Blank header for uncompressed 16 color bitmap.
ensure
is_valid: is_valid;
colors: has_colors
make_256_colors
-- Blank header for uncompressed 256 color bitmap.
ensure
is_valid: is_valid;
colors: has_colors
feature(s) from BITMAPINFO
-- Creation
make (a_block: F_MEMORY)
-- Initialise from memory block.
require
not_void: a_block /= Void
feature(s) from BITMAPINFO
-- Creation
set (a_block: F_MEMORY)
-- Initialise from memory block.
require
not_void: a_block /= Void
make_rgb
-- Make blank header for 24bit RGB bitmap.
ensure
is_valid: is_valid
make_16_colors
-- Blank header for uncompressed 16 color bitmap.
ensure
is_valid: is_valid;
colors: has_colors
make_256_colors
-- Blank header for uncompressed 256 color bitmap.
ensure
is_valid: is_valid;
colors: has_colors
make_mono
-- Blank header for uncompressed 256 color bitmap.
ensure
is_valid
reset_header
-- Reset header.
feature(s) from BITMAPINFO
-- Access
is_valid: BOOLEAN
-- Is layout OK?
has_colors: BOOLEAN
-- Colors layout OK?
require
valid: is_valid
width: INTEGER
-- Width.
require
valid: is_valid
set_width (an_int: INTEGER)
-- Set width.
require
valid: is_valid
ensure
valid: is_valid
height: INTEGER
-- Height.
require
valid: is_valid
set_height (an_int: INTEGER)
-- Set width.
require
valid: is_valid
ensure
valid: is_valid
bit_count: INTEGER
-- Bit count.
require
valid: is_valid
number_of_colors: INTEGER
-- Number of colors.
require
valid: is_valid
color (n: INTEGER): RGB_COLOR
-- Color.
require
valid: is_valid;
min: n >= 1;
max: n <= number_of_colors;
layout: has_colors
set_color (a_color: RGB_COLOR; n: INTEGER)
-- Set color.
require
valid: is_valid;
has_colors: has_colors;
min: n >= 1;
max: n <= number_of_colors;
color_not_void: a_color /= Void
ensure
done: color(n).is_equal(a_color)
feature(s) from ICO_BITMAP
-- Access
has_xor_bitmap: BOOLEAN
-- Is XOR bitmap here?
require
valid: is_valid
has_and_bitmap: BOOLEAN
-- Is AND bitmap here?
require
valid: is_valid
is_well_formed: BOOLEAN
-- All pieces there?
ensure
layout: Result implies is_valid;
colors: Result implies has_colors;
xor_bitmap: Result implies has_xor_bitmap;
and_bitmap: Result implies has_and_bitmap
xor_bitmap: ICO_BITMAP_DATA
-- XOR bitmap data.
require
valid: is_valid;
has: has_xor_bitmap
and_bitmap: ICO_BITMAP_DATA
-- AND bitmap data.
require
valid: is_valid;
has: has_and_bitmap
invariant
valid_memory: memory /= Void;
valid_memory: memory /= Void;
end of ICO_BITMAP