indexing
	description: "Contains information about the dimensions and color format of a device-independent bitmap (DIB)."
	status: "See notice at end of class."
	date: "$Date$"
	revision: "$Revision$"
class interface
	WEL_BITMAP_INFO_HEADER
create 
	make
		ensure
			width_set: width = 0
			height_set: height = 0
			planes_set: planes = 0
			bit_count_set: bit_count = 0
			compression_set: compression = 0
			size_image_set: size_image = 0
			x_pels_per_meter_set: x_pels_per_meter = 0
			y_pels_per_meter_set: y_pels_per_meter = 0
			clr_used_set: clr_used = 0
			clr_important_set: clr_important = 0
	make_by_pointer (a_pointer: POINTER)
			itema_pointer
			item
			
			a_pointer
			
			 WEL_ANY
		ensure  WEL_ANY
			item_set: item = a_pointer
			shared: shared
feature 
	bit_count: INTEGER
	clr_important: INTEGER
	clr_used: INTEGER
	compression: INTEGER
	height: INTEGER
	item: POINTER
			
			
			 WEL_ANY
	planes: INTEGER
	size_image: INTEGER
	width: INTEGER
	x_pels_per_meter: INTEGER
	y_pels_per_meter: INTEGER
	
feature 
	structure_size: INTEGER
			
		ensure  WEL_STRUCTURE
			positive_result: Result > 0
	
feature 
	exists: BOOLEAN
			item
			 WEL_ANY
		ensure  WEL_ANY
			Result = (item /= default_pointer)
	shared: BOOLEAN
			item
			item
			destroy_item
			item
			 WEL_ANY
	
feature 
	set_shared
			shared
			 WEL_ANY
		ensure  WEL_ANY
			shared: shared
	set_unshared
			shared
			 WEL_ANY
		ensure  WEL_ANY
			unshared: not shared
	
feature 
	set_bit_count (a_bit_count: INTEGER)
		ensure
			bit_count_set: bit_count = a_bit_count
	set_clr_important (a_clr_important: INTEGER)
		ensure
			clr_important_set: clr_important = a_clr_important
	set_clr_used (a_clr_used: INTEGER)
		ensure
			clr_used_set: clr_used = a_clr_used
	set_compression (a_compression: INTEGER)
		ensure
			compression_set: compression = a_compression
	set_height (a_height: INTEGER)
		ensure
			height_set: height = a_height
	set_item (an_item: POINTER)
			iteman_item
			 WEL_ANY
		ensure  WEL_ANY
			item_set: item = an_item
	set_planes (a_planes: INTEGER)
		ensure
			planes_set: planes = a_planes
	set_size_image (a_size_image: INTEGER)
		ensure
			size_image_set: size_image = a_size_image
	set_width (a_width: INTEGER)
		ensure
			width_set: width = a_width
	set_x_pels_per_meter (a_x_pels_per_meter: INTEGER)
		ensure
			x_pels_per_meter_set: x_pels_per_meter = a_x_pels_per_meter
	set_y_pels_per_meter (a_y_pels_per_meter: INTEGER)
		ensure
			y_pels_per_meter_set: y_pels_per_meter = a_y_pels_per_meter
	
feature 
	dispose
			Current
			
			
			Current
			
			 WEL_ANY
	
feature 
	to_integer: INTEGER
			item
			 WEL_ANY
		ensure  WEL_ANY
			Result = cwel_pointer_to_integer (item)
	
feature 
	initialize
			
			 WEL_STRUCTURE
		require  WEL_STRUCTURE
			exists: exists
	initialize_with_character (a_character: CHARACTER)
			a_character
			 WEL_STRUCTURE
		require  WEL_STRUCTURE
			exists: exists
	memory_copy (source_pointer: POINTER; length: INTEGER)
			lengthsource_pointeritem
			 WEL_STRUCTURE
		require  WEL_STRUCTURE
			length_small_enough: length <= structure_size
			length_large_enough: length > 0
			exists: exists
	
invariant
		 ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)
end -- WEL_BITMAP_INFO_HEADER