class
	EV_PIXMAP_IMP_DRAWABLE

General
	cluster: implementation_mswin
	description: "EiffelVision pixmap. Mswindows implementation for drawable pixmap (drawable, not self-displayable)"
	create: make_with_simple

Ancestors
	EV_DRAWABLE_IMP*
	EV_PIXMAP_I*
	EV_PIXMAP_IMP_STATE*

Action sequences
	conforming_pick_actions: EV_NOTIFY_ACTION_SEQUENCE
	create_conforming_pick_actions: EV_NOTIFY_ACTION_SEQUENCE
	create_drop_actions: EV_PND_ACTION_SEQUENCE
	create_expose_actions: EV_GEOMETRY_ACTION_SEQUENCE
	create_focus_in_actions: EV_NOTIFY_ACTION_SEQUENCE
	create_focus_out_actions: EV_NOTIFY_ACTION_SEQUENCE
	create_key_press_actions: EV_KEY_ACTION_SEQUENCE
	create_key_press_string_actions: EV_KEY_STRING_ACTION_SEQUENCE
	create_key_release_actions: EV_KEY_ACTION_SEQUENCE
	create_mouse_wheel_actions: EV_INTEGER_ACTION_SEQUENCE
	create_pick_actions: EV_PND_START_ACTION_SEQUENCE
	create_pick_ended_actions: EV_PND_FINISHED_ACTION_SEQUENCE
	create_pointer_button_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	create_pointer_button_release_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	create_pointer_double_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	create_pointer_enter_actions: EV_NOTIFY_ACTION_SEQUENCE
	create_pointer_leave_actions: EV_NOTIFY_ACTION_SEQUENCE
	create_pointer_motion_actions: EV_POINTER_MOTION_ACTION_SEQUENCE
	create_resize_actions: EV_GEOMETRY_ACTION_SEQUENCE
	dock_ended_actions: EV_NOTIFY_ACTION_SEQUENCE
	dock_started_actions: EV_NOTIFY_ACTION_SEQUENCE
	drop_actions: EV_PND_ACTION_SEQUENCE
	expose_actions: EV_GEOMETRY_ACTION_SEQUENCE
	file_drop_actions: ACTION_SEQUENCE [TUPLE [LIST [STRING_32]]]
	focus_in_actions: EV_NOTIFY_ACTION_SEQUENCE
	focus_out_actions: EV_NOTIFY_ACTION_SEQUENCE
	key_press_actions: EV_KEY_ACTION_SEQUENCE
	key_press_string_actions: EV_KEY_STRING_ACTION_SEQUENCE
	key_release_actions: EV_KEY_ACTION_SEQUENCE
	mouse_wheel_actions: EV_INTEGER_ACTION_SEQUENCE
	pick_actions: EV_PND_START_ACTION_SEQUENCE
	pick_ended_actions: EV_PND_FINISHED_ACTION_SEQUENCE
	pointer_button_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	pointer_button_release_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	pointer_double_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	pointer_enter_actions: EV_NOTIFY_ACTION_SEQUENCE
	pointer_leave_actions: EV_NOTIFY_ACTION_SEQUENCE
	pointer_motion_actions: EV_POINTER_MOTION_ACTION_SEQUENCE
	resize_actions: EV_GEOMETRY_ACTION_SEQUENCE

Queries
	accept_cursor: EV_POINTER_STYLE
	actual_drop_target_agent: FUNCTION [ANY, TUPLE [INTEGER_32, INTEGER_32], EV_ABSTRACT_PICK_AND_DROPABLE]
	arc_cosine (v: REAL_32): REAL_32
	arc_sine (v: REAL_32): REAL_32
	arc_tangent (v: REAL_32): REAL_32
	assertion_violation: BOOLEAN
	background_color: EV_COLOR
	blue: INTEGER_32
	Bounding_area: EV_RECTANGLE
	build_cursor: WEL_CURSOR
	build_icon: WEL_ICON
	ceiling (v: REAL_32): REAL_32
	Check_instruction: INTEGER_32
	Class_invariant: INTEGER_32
	clip_area: EV_RECTANGLE
	closest_dockable_target: EV_DOCKABLE_TARGET
	Com_exception: INTEGER_32
	cosine (v: REAL_32): REAL_32
	Create_on_deferred: INTEGER_32
	cursor: WEL_CURSOR
	dashed_line_style: BOOLEAN
	dc: WEL_MEMORY_DC
	Default_accept_cursor: EV_POINTER_STYLE
	Default_deny_cursor: EV_POINTER_STYLE
	default_key_processing_handler: PREDICATE [ANY, TUPLE [EV_KEY]]
	Default_pixmaps: EV_STOCK_PIXMAPS
	deny_cursor: EV_POINTER_STYLE
	Developer_exception: INTEGER_32
	developer_exception_name: STRING_8
	dockable_dialog_target: EV_DOCKABLE_DIALOG
	Dollar_applied_to_melted_feature: INTEGER_32
	Drag_cursor: EV_POINTER_STYLE
	drawing_mode: INTEGER_32
	Drawing_mode_and: INTEGER_32
	Drawing_mode_copy: INTEGER_32
	Drawing_mode_invert: INTEGER_32
	Drawing_mode_or: INTEGER_32
	Drawing_mode_xor: INTEGER_32
	Eiffel_runtime_fatal_error: INTEGER_32
	Eiffel_runtime_panic: INTEGER_32
	Euler: REAL_64
	exception: INTEGER_32
	exception_class_name: STRING_8
	Exception_in_signal_handler: INTEGER_32
	exception_trace: STRING_8
	External_exception: INTEGER_32
	Floating_point_exception: INTEGER_32
	floor (v: REAL_32): REAL_32
	font: EV_FONT
	foreground_color: EV_COLOR
	get_bitmap: WEL_BITMAP
	get_mask_bitmap: WEL_BITMAP
	get_next_target (a_widget: EV_WIDGET): EV_DOCKABLE_TARGET
	Global_drag_targets: ARRAYED_LIST [INTEGER_32]
	Global_pnd_targets: HASH_TABLE [INTEGER_32, INTEGER_32]
	green: INTEGER_32
	has_capture: BOOLEAN
	has_focus: BOOLEAN
	has_mask: BOOLEAN
	has_parent: BOOLEAN
	height: INTEGER_32
	help_context: FUNCTION [ANY, TUPLE, EV_HELP_CONTEXT]
	icon: WEL_ICON
	Incorrect_inspect_value: INTEGER_32
	Insert_label: EV_CELL
	Insert_label_imp: EV_CELL_I
	Insert_sep: EV_TOOL_BAR_SEPARATOR
	Insert_sep_imp: EV_TOOL_BAR_SEPARATOR_I
	internal_font: EV_FONT
	internal_font_height: INTEGER_32
	internal_non_sensitive: BOOLEAN
	internal_pointer_style: EV_POINTER_STYLE
	Internal_screen: EV_SCREEN
	Io_exception: INTEGER_32
	is_developer_exception: BOOLEAN
	is_developer_exception_of_name (name: STRING_8): BOOLEAN
	is_displayed: BOOLEAN
	is_dock_executing: BOOLEAN
	is_dockable: BOOLEAN
	is_external_docking_enabled: BOOLEAN
	is_external_docking_relative: BOOLEAN
	is_sensitive: BOOLEAN
	is_show_requested: BOOLEAN
	is_signal: BOOLEAN
	is_system_exception: BOOLEAN
	is_transport_enabled: BOOLEAN
	item: INTEGER_32
	line_width: INTEGER_32
	log (v: REAL_32): REAL_32
	log10 (v: REAL_32): REAL_32
	log_2 (v: REAL_32): REAL_32
	Loop_invariant: INTEGER_32
	Loop_variant: INTEGER_32
	mask_dc: WEL_MEMORY_DC
	meaning (except: INTEGER_32): STRING_8
	minimum_height: INTEGER_32
	minimum_width: INTEGER_32
	mode_is_drag_and_drop: BOOLEAN
	mode_is_pick_and_drop: BOOLEAN
	mode_is_target_menu: BOOLEAN
	No_more_memory: INTEGER_32
	not_external_docking_enabled: BOOLEAN
	not_is_external_docking_relative: BOOLEAN
	Number_of_codes: INTEGER_32
	Operating_system_exception: INTEGER_32
	original_class_name: STRING_8
	original_exception: INTEGER_32
	original_parent_position: INTEGER_32
	original_recipient_name: STRING_8
	original_tag_name: STRING_8
	original_x_offset: INTEGER_16
	original_y_offset: INTEGER_16
	originating_source: EV_DOCKABLE_SOURCE_I
	Out_of_memory: INTEGER_32
	palette: WEL_PALETTE
	parent: EV_CONTAINER
	parent_is_sensitive: BOOLEAN
	pebble: ANY
	pebble_function: FUNCTION [ANY, TUPLE, ANY]
	pebble_positioning_enabled: BOOLEAN
	pebble_x_position: INTEGER_32
	pebble_y_position: INTEGER_32
	Pi: REAL_64
	pnd_screen: EV_SCREEN
	pointer_position: EV_COORDINATE
	pointer_style: EV_POINTER_STYLE
	pointer_x: INTEGER_16
	pointer_y: INTEGER_16
	Postcondition: INTEGER_32
	Precondition: INTEGER_32
	raw_image_data: EV_RAW_IMAGE_DATA
	real_pointed_target: EV_PICK_AND_DROPABLE
	real_source: EV_DOCKABLE_SOURCE
	real_target: EV_DOCKABLE_TARGET
	recipient_name: STRING_8
	red: INTEGER_32
	Rescue_exception: INTEGER_32
	Resumption_failed: INTEGER_32
	Retrieve_exception: INTEGER_32
	Routine_failure: INTEGER_32
	rubber_band_is_drawn: BOOLEAN
	Runtime_check_exception: INTEGER_32
	Runtime_io_exception: INTEGER_32
	screen_x: INTEGER_32
	screen_y: INTEGER_32
	Signal_exception: INTEGER_32
	sine (v: REAL_32): REAL_32
	source_being_docked: EV_DOCKABLE_SOURCE_I
	sqrt (v: REAL_32): REAL_32
	Sqrt2: REAL_64
	sub_pixmap (area: EV_RECTANGLE): EV_PIXMAP
	tag_name: STRING_8
	tangent (v: REAL_32): REAL_32
	tile: EV_PIXMAP
	tooltip: STRING_32
	transparent_color: EV_COLOR
	user_is_sensitive: BOOLEAN
	valid_code (c: INTEGER_32): BOOLEAN
	valid_color_constant (c: INTEGER_32): BOOLEAN
	valid_drawing_mode (a_mode: INTEGER_32): BOOLEAN
	Void_assigned_to_expanded: INTEGER_32
	Void_call_target: INTEGER_32
	widget_imp_at_pointer_position: EV_WIDGET_IMP
	width: INTEGER_32
	x_position: INTEGER_32
	y_position: INTEGER_32

Commands
	catch (code: INTEGER_32)
	clear
	clear_rectangle (x1, y1, a_width, a_height: INTEGER_32)
	close_dockable_dialog (dockable_dialog: EV_DOCKABLE_DIALOG)
	complete_dock
	die (code: INTEGER_32)
	disable_capture
	disable_dashed_line_style
	disable_dockable
	disable_external_docking
	disable_external_docking_relative
	disable_pebble_positioning
	disable_sensitive
	disable_transport
	draw_arc (x, y, a_bounding_width, a_bounding_height: INTEGER_32; a_start_angle, an_aperture: REAL_32)
	draw_ellipse (x, y, a_bounding_width, a_bounding_height: INTEGER_32)
	draw_ellipsed_text (x, y: INTEGER_32; a_text: STRING_GENERAL; clipping_width: INTEGER_32)
	draw_ellipsed_text_top_left (x, y: INTEGER_32; a_text: STRING_GENERAL; clipping_width: INTEGER_32)
	draw_pie_slice (x, y, a_bounding_width, a_bounding_height: INTEGER_32; a_start_angle, an_aperture: REAL_32)
	draw_pixmap (x, y: INTEGER_32; a_pixmap: EV_PIXMAP)
	draw_point (x, y: INTEGER_32)
	draw_polyline (points: ARRAY [EV_COORDINATE]; is_closed: BOOLEAN)
	draw_rectangle (x, y, a_width, a_height: INTEGER_32)
	draw_rotated_text (x, y: INTEGER_32; a_angle: REAL_32; a_text: STRING_GENERAL)
	draw_rubber_band
	draw_segment (x1, y1, x2, y2: INTEGER_32)
	draw_straight_line (x1, y1, x2, y2: INTEGER_32)
	draw_sub_pixmap (x, y: INTEGER_32; a_pixmap: EV_PIXMAP; area: EV_RECTANGLE)
	draw_text (x, y: INTEGER_32; a_text: STRING_GENERAL)
	draw_text_top_left (x, y: INTEGER_32; a_text: STRING_GENERAL)
	enable_capture
	enable_dashed_line_style
	enable_dockable
	enable_external_docking
	enable_external_docking_relative
	enable_pebble_positioning
	enable_sensitive
	enable_transport
	end_transport (a_x, a_y, a_button: INTEGER_32; a_x_tilt, a_y_tilt, a_pressure: REAL_64; a_screen_x, a_screen_y: INTEGER_32)
	erase_rubber_band
	exception_raise (name: STRING_8)
	fill_ellipse (x, y, a_bounding_width, a_bounding_height: INTEGER_32)
	fill_pie_slice (x, y, a_bounding_width, a_bounding_height: INTEGER_32; a_start_angle, an_aperture: REAL_32)
	fill_polygon (points: ARRAY [EV_COORDINATE])
	fill_rectangle (x, y, a_width, a_height: INTEGER_32)
	flush
	gdi_compact
	get_dc
	hide
	ignore (code: INTEGER_32)
	internal_disable_dockable
	internal_draw_text (x, y: INTEGER_32; angle: REAL_32; clipping_width: INTEGER_32; from_baseline: BOOLEAN; a_text: STRING_GENERAL)
	internal_enable_dockable
	internal_set_pointer_style (c: EV_POINTER_STYLE)
	message_on_failure
	no_message_on_failure
	on_parented
	raise_retrieval_exception (name: STRING_8)
	redraw
	release_dc
	remove_clipping
	remove_default_key_processing_handler
	remove_help_context
	remove_insert_label
	remove_insert_sep
	remove_pebble
	remove_real_source
	remove_real_target
	remove_tile
	reset_for_buffering (a_width, a_height: INTEGER_32)
	save_to_named_file (a_format: EV_GRAPHICAL_FORMAT; a_filename: FILE_NAME)
	set_accept_cursor (a_cursor: [like accept_cursor] EV_POINTER_STYLE)
	set_actual_drop_target_agent (an_agent: [like actual_drop_target_agent] FUNCTION [ANY, TUPLE [INTEGER_32, INTEGER_32], EV_ABSTRACT_PICK_AND_DROPABLE])
	set_background_color (a_color: EV_COLOR)
	set_blue (a_blue: INTEGER_32)
	set_clip_area (an_area: EV_RECTANGLE)
	set_clip_region (a_region: EV_REGION)
	set_color (color: INTEGER_32)
	set_default_font
	set_default_key_processing_handler (a_handler: [like default_key_processing_handler] PREDICATE [ANY, TUPLE [EV_KEY]])
	set_deny_cursor (a_cursor: [like deny_cursor] EV_POINTER_STYLE)
	set_drag_and_drop_mode
	set_drawing_mode (a_mode: INTEGER_32)
	set_focus
	set_font (a_font: EV_FONT)
	set_foreground_color (a_color: EV_COLOR)
	set_green (a_green: INTEGER_32)
	set_help_context (an_help_context: [like help_context] FUNCTION [ANY, TUPLE, EV_HELP_CONTEXT])
	set_line_width (a_width: INTEGER_32)
	set_mask (a_mask: EV_BITMAP)
	set_minimum_height (a_minimum_height: INTEGER_32)
	set_minimum_size (a_minimum_width, a_minimum_height: INTEGER_32)
	set_minimum_width (a_minimum_width: INTEGER_32)
	set_pebble (a_pebble: [like pebble] ANY)
	set_pebble_function (a_function: FUNCTION [ANY, TUPLE, ANY])
	set_pebble_position (a_x, a_y: INTEGER_32)
	set_pick_and_drop_mode
	set_pointer_style (c: EV_POINTER_STYLE)
	set_real_source (dockable_source: EV_DOCKABLE_SOURCE)
	set_real_target (a_target: EV_DOCKABLE_TARGET)
	set_red (a_red: INTEGER_32)
	set_rgb (a_red, a_green, a_blue: INTEGER_32)
	set_size (new_width, new_height: INTEGER_32)
	set_target_menu_mode
	set_tile (a_pixmap: EV_PIXMAP)
	set_tooltip (a_text: STRING_GENERAL)
	set_transparent_color (value: EV_COLOR)
	show
	start_transport (a_x, a_y, a_button: INTEGER_32; a_x_tilt, a_y_tilt, a_pressure: REAL_64; a_screen_x, a_screen_y: INTEGER_32)
	stretch (new_width, new_height: INTEGER_32)
	update_buttons (a_parent: EV_TOOL_BAR; start_index, end_index: INTEGER_32)
	user_disable_sensitive
	user_enable_sensitive

Constraints
	bitmap not void
	bitmap reference tracked
	palette reference tracked
	mask bitmap reference tracked
	dc reference tracked
	mask dc reference tracked