class interface ICO_BITMAP_DATA creation make (a_block: F_MEMORY; w, h: INTEGER; a_bit_count: INTEGER) -- Set from bitmap and block. require block_not_void: a_block /= Void; width_ok: w > 0; height_ok: h > 0; bit_ok: is_bit_count(a_bit_count); size_ok: a_block.size >= bitmap_size(w,h,a_bit_count) feature(s) from ICO_BITMAP_DATA -- Creation make (a_block: F_MEMORY; w, h: INTEGER; a_bit_count: INTEGER) -- Set from bitmap and block. require block_not_void: a_block /= Void; width_ok: w > 0; height_ok: h > 0; bit_ok: is_bit_count(a_bit_count); size_ok: a_block.size >= bitmap_size(w,h,a_bit_count) feature(s) from ICO_BITMAP_DATA -- Creation set (a_block: F_MEMORY; w, h: INTEGER; a_bit_count: INTEGER) -- Set from bitmap and block. require block_not_void: a_block /= Void; width_ok: w > 0; height_ok: h > 0; bit_ok: is_bit_count(a_bit_count); size_ok: a_block.size >= bitmap_size(w,h,a_bit_count) memory: F_MEMORY feature(s) from ICO_BITMAP_DATA -- Access bit_count: INTEGER -- Bits per pixel. line_count: INTEGER -- Bytes per line. width: INTEGER -- Size height: INTEGER -- Size feature(s) from ICO_BITMAP_DATA -- Operation(s) pixel (an_x, a_y: INTEGER): INTEGER -- Pixel at (x,y), result is color index. require x_min: an_x >= 1; x_max: an_x <= width; y_min: a_y >= 1; y_max: a_y <= height ensure color_positive: Result >= 1; color_index: Result <= 2 ^ bit_count invariant memory: memory /= Void; memory_size: memory.size >= bitmap_size(width,height,bit_count); end of ICO_BITMAP_DATA