indexing
	description: "System fixed font."
	status: "See notice at end of class."
	date: "$Date$"
	revision: "$Revision$"
class interface
	WEL_SYSTEM_FIXED_FONT
create 
	make
			stock_id
			 WEL_GDI_STOCK
		ensure  WEL_GDI_STOCK
			exists: exists
			shared: shared
feature 
	gdi_objects_count: INTEGER
			
			
			
			
			
			 WEL_GDI_ANY
	height: INTEGER
			
			 WEL_FONT
		ensure  WEL_FONT
			result_bigger_than_zero: Result > 0
	item: POINTER
			
			
			 WEL_ANY
	log_font: WEL_LOG_FONT
			Current
			 WEL_FONT
		require  WEL_FONT
			exists
		ensure  WEL_FONT
			result_not_void: Result /= void
	point: INTEGER
			
			 WEL_FONT
	string_height (a_string: STRING): INTEGER
			a_string
			 WEL_FONT
	string_size (a_string: STRING): TUPLE [INTEGER, INTEGER]
			a_string
			 WEL_FONT
	string_width (a_string: STRING): INTEGER
			a_string
			 WEL_FONT
	width: INTEGER
			
			 WEL_FONT
	
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_item (an_item: POINTER)
			iteman_item
			 WEL_ANY
		ensure  WEL_ANY
			item_set: item = an_item
	
feature 
	delete
			Current
			
			
			 WEL_REFERENCE_TRACKABLE
		require  WEL_REFERENCE_TRACKABLE
			reference_not_tracked: not reference_tracked
		ensure  WEL_REFERENCE_TRACKABLE
			destroyed: not shared implies not exists
	dispose
			Current
			
			
			
			delete
			 WEL_REFERENCE_TRACKABLE
	
feature 
	to_integer: INTEGER
			item
			 WEL_ANY
		ensure  WEL_ANY
			Result = cwel_pointer_to_integer (item)
	
feature 
	set_indirect (a_log_font: WEL_LOG_FONT)
			
			
			 WEL_FONT
		require  WEL_FONT
			a_log_font_not_void: a_log_font /= void
	
feature 
	set_height (a_height: INTEGER)
			heighta_height
			 WEL_FONT
		require  WEL_FONT
			a_height_bigger_than_zero: a_height > 0
	
feature 
	reference_tracked: BOOLEAN
			Current
			 WEL_REFERENCE_TRACKABLE
	references_count: INTEGER
			
			 WEL_REFERENCE_TRACKABLE
	
feature 
	decrement_reference
			
			
			
			delete
			 WEL_REFERENCE_TRACKABLE
		require  WEL_REFERENCE_TRACKABLE
			exists: exists
			tracking_references_started: reference_tracked
	enable_reference_tracking
			references_tracked
			
			 WEL_REFERENCE_TRACKABLE
		require  WEL_REFERENCE_TRACKABLE
			exists: exists
			tracking_reference_not_started: not reference_tracked
	increment_reference
			
			 WEL_REFERENCE_TRACKABLE
		require  WEL_REFERENCE_TRACKABLE
			exists: exists
			tracking_references_started: reference_tracked
	object_id: INTEGER
			Current
			 WEL_REFERENCE_TRACKABLE
	
invariant
		 ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)
end -- WEL_SYSTEM_FIXED_FONT