    class
    	EV_MODEL_PRINT_PROJECTOR_IMP

    General
    	cluster: implementation_mswin
    	description: "Projection to a Printer."
    	keywords: "printer, output, projector"
    	create: make

    Ancestors
    	EV_MODEL_DRAWER*
    	EV_MODEL_PRINT_PROJECTOR_I*
    	EV_MODEL_PROJECTION_ROUTINES*
    	EV_MODEL_PROJECTOR*
    	WEL_PRINTER_DC

    Queries
    	alpha_blend (a_x_dest, a_y_dest, a_width, a_height: INTEGER_32; a_dc_src: WEL_DC; a_x_src, a_y_src, a_width_src, a_height_src: INTEGER_32; a_blend_function: WEL_BLEND_FUNCTION): BOOLEAN
    	background_color: WEL_COLOR_REF
    	bitmap: WEL_BITMAP
    	bitmap_selected: BOOLEAN
    	brush: WEL_BRUSH
    	brush_selected: BOOLEAN
    	char_abc_widths (first_char_index, last_char_index: NATURAL_32): ARRAYED_LIST [WEL_ABC_STRUCT]
    	character_size (c: CHARACTER_8): WEL_SIZE
    	Default_colors: EV_STOCK_COLORS
    	device_caps (capability: INTEGER_32): INTEGER_32
    	di_bits (a_bitmap: WEL_BITMAP; start_scan, scan_lines: INTEGER_32; bitmap_info: WEL_BITMAP_INFO; usage: INTEGER_32): ARRAY [CHARACTER_8]
    	draw_text_with_result (string: STRING_GENERAL; rect: WEL_RECT; format: INTEGER_32): INTEGER_32
    	drawable: EV_DRAWABLE
    	exists: BOOLEAN
    	font: WEL_FONT
    	font_selected: BOOLEAN
    	height: INTEGER_32
    	is_opaque: BOOLEAN
    	is_projecting: BOOLEAN
    	is_transparent: BOOLEAN
    	item: POINTER
    	make_rop4 (fore, back: INTEGER_32): INTEGER_32
    	map_mode: INTEGER_32
    	Mask_blt_supported: BOOLEAN
    	object_id: INTEGER_32
    	offset_x: INTEGER_32
    	offset_y: INTEGER_32
    	palette: WEL_PALETTE
    	palette_selected: BOOLEAN
    	pen: WEL_PEN
    	pen_selected: BOOLEAN
    	pixel_color (x, y: INTEGER_32): WEL_COLOR_REF
    	polygon_fill_mode: INTEGER_32
    	position: WEL_POINT
    	reference_tracked: BOOLEAN
    	references_count: INTEGER_32
    	region: WEL_REGION
    	region_selected: BOOLEAN
    	rop2: INTEGER_32
    	set_di_bits (a_bitmap: WEL_BITMAP; start_scan, scan_lines: INTEGER_32; bits: ARRAY [CHARACTER_8]; bitmap_info: WEL_BITMAP_INFO; usage: INTEGER_32): INTEGER_32
    	shared: BOOLEAN
    	stretch_blt_mode: INTEGER_32
    	string_height (s: STRING_GENERAL): INTEGER_32
    	string_size (s: STRING_GENERAL): WEL_SIZE
    	string_width (s: STRING_GENERAL): INTEGER_32
    	tabbed_text_height (text: STRING_GENERAL): INTEGER_32
    	tabbed_text_size (text: STRING_GENERAL): WEL_SIZE
    	tabbed_text_size_with_tabulation (text: STRING_GENERAL; tabulations: ARRAY [INTEGER_32]): WEL_SIZE
    	tabbed_text_width (text: STRING_GENERAL): INTEGER_32
    	text_alignment: INTEGER_32
    	text_color: WEL_COLOR_REF
    	text_face: STRING_GENERAL
    	valid_dib_colors_constant (c: INTEGER_32): BOOLEAN
    	valid_extent_map_mode (mode: INTEGER_32): BOOLEAN
    	valid_htext_alignment_constant (c: INTEGER_32): BOOLEAN
    	valid_map_mode_constant (c: INTEGER_32): BOOLEAN
    	valid_polygon_fill_mode_constant (c: INTEGER_32): BOOLEAN
    	valid_rop2_constant (c: INTEGER_32): BOOLEAN
    	valid_stretch_mode_constant (c: INTEGER_32): BOOLEAN
    	valid_text_alignment_constant (c: INTEGER_32): BOOLEAN
    	valid_vtext_alignment_constant (c: INTEGER_32): BOOLEAN
    	viewport_extent: WEL_SIZE
    	viewport_origin: WEL_POINT
    	width: INTEGER_32
    	window_extent: WEL_SIZE
    	window_origin: WEL_POINT
    	world: EV_MODEL_WORLD

    Commands
    	abort_document
    	arc (left, top, right, bottom, x_start_arc, y_start_arc, x_end_arc, y_end_arc: INTEGER_32)
    	bit_blt (x_destination, y_destination, a_width, a_height: INTEGER_32; dc_source: WEL_DC; x_source, y_source, raster_operation: INTEGER_32)
    	chord (left, top, right, bottom, x_start_line, y_start_line, x_end_line, y_end_line: INTEGER_32)
    	copy_dc (dc_source: WEL_DC; rect: WEL_RECT)
    	decrement_reference
    	delete
    	dispose
    	draw_bitmap (a_bitmap: WEL_BITMAP; x, y, a_width, a_height: INTEGER_32)
    	draw_bitmap_with_raster_operation (a_bitmap: WEL_BITMAP; x, y, a_width, a_height, raster_operation: INTEGER_32)
    	draw_centered_text (string: STRING_GENERAL; rect: WEL_RECT)
    	draw_cursor (cursor: WEL_CURSOR; x, y: INTEGER_32)
    	draw_disabled_text (string: STRING_GENERAL; rect: WEL_RECT; format: INTEGER_32)
    	draw_edge (a_rect: WEL_RECT; edge_type, edge_border: INTEGER_32)
    	draw_figure_arc (arc: EV_MODEL_ARC)
    	draw_figure_dot (dot: EV_MODEL_DOT)
    	draw_figure_ellipse (ellipse: EV_MODEL_ELLIPSE)
    	draw_figure_equilateral (eql: EV_MODEL_EQUILATERAL)
    	draw_figure_line (line: EV_MODEL_LINE)
    	draw_figure_parallelogram (parallelogram: EV_MODEL_PARALLELOGRAM)
    	draw_figure_picture (picture: EV_MODEL_PICTURE)
    	draw_figure_pie_slice (slice: EV_MODEL_PIE_SLICE)
    	draw_figure_polygon (polygon: EV_MODEL_POLYGON)
    	draw_figure_polyline (line: EV_MODEL_POLYLINE)
    	draw_figure_rectangle (rectangle: EV_MODEL_RECTANGLE)
    	draw_figure_rotated_arc (arc: EV_MODEL_ROTATED_ARC)
    	draw_figure_rotated_ellipse (ellipse: EV_MODEL_ROTATED_ELLIPSE)
    	draw_figure_rotated_pie_slice (slice: EV_MODEL_ROTATED_PIE_SLICE)
    	draw_figure_rounded_parallelogram (f: EV_MODEL_ROUNDED_PARALLELOGRAM)
    	draw_figure_rounded_rectangle (f: EV_MODEL_ROUNDED_RECTANGLE)
    	draw_figure_star (star: EV_MODEL_STAR)
    	draw_figure_text (text_figure: EV_MODEL_TEXT)
    	draw_frame_control (a_rect: WEL_RECT; control_type, control_state: INTEGER_32)
    	draw_grid
    	draw_icon (icon: WEL_ICON; x, y: INTEGER_32)
    	draw_icon_ex (icon: WEL_ICON; x, y, icon_width, icon_height, frame_index: INTEGER_32; flicker_free_background: WEL_BRUSH; di_flags: INTEGER_32)
    	draw_state_bitmap (a_brush: WEL_BRUSH; a_bitmap: WEL_BITMAP; x, y, format: INTEGER_32)
    	draw_state_icon (a_brush: WEL_BRUSH; an_icon: WEL_GRAPHICAL_RESOURCE; x, y, format: INTEGER_32)
    	draw_state_text (a_brush: WEL_BRUSH; string: STRING_GENERAL; x, y, format: INTEGER_32)
    	draw_text (string: STRING_GENERAL; rect: WEL_RECT; format: INTEGER_32)
    	ellipse (left, top, right, bottom: INTEGER_32)
    	enable_reference_tracking
    	end_document
    	end_page
    	fill_rect (a_rect: WEL_RECT; a_brush: WEL_BRUSH)
    	fill_region (a_region: WEL_REGION; a_brush: WEL_BRUSH)
    	flood_fill_border (x, y: INTEGER_32; color: WEL_COLOR_REF)
    	flood_fill_surface (x, y: INTEGER_32; color: WEL_COLOR_REF)
    	get
    	increment_reference
    	invert_rect (a_rect: WEL_RECT)
    	invert_region (a_region: WEL_REGION)
    	line (x1, y1, x2, y2: INTEGER_32)
    	line_to (x, y: INTEGER_32)
    	mask_blt (x_destination, y_destination, a_width, a_height: INTEGER_32; dc_source: WEL_DC; x_source, y_source: INTEGER_32; mask_bitmap: WEL_BITMAP; x_mask, y_mask, raster_operation: INTEGER_32)
    	move_to (x, y: INTEGER_32)
    	pat_blt (x_destination, y_destination, a_width, a_height, raster_operation: INTEGER_32)
    	pie (left, top, right, bottom, x_start_point, y_start_point, x_end_point, y_end_point: INTEGER_32)
    	poly_bezier (points: ARRAY [INTEGER_32])
    	poly_bezier_to (points: ARRAY [INTEGER_32])
    	polygon (points: ARRAY [INTEGER_32])
    	polyline (points: ARRAY [INTEGER_32])
    	project
    	realize_palette
    	rectangle (left, top, right, bottom: INTEGER_32)
    	register_figure (a_figure: EV_MODEL; a_routine: PROCEDURE [ANY, TUPLE [EV_MODEL]])
    	release
    	remove_clip_region
    	round_rect (left, top, right, bottom, ellipse_width, ellipse_height: INTEGER_32)
    	save_bitmap (a_bitmap: WEL_BITMAP; file: FILE_NAME)
    	select_bitmap (a_bitmap: WEL_BITMAP)
    	select_brush (a_brush: WEL_BRUSH)
    	select_clip_region (a_region: WEL_REGION)
    	select_font (a_font: WEL_FONT)
    	select_palette (a_palette: WEL_PALETTE)
    	select_pen (a_pen: WEL_PEN)
    	select_region (a_region: WEL_REGION)
    	set_background_color (color: WEL_COLOR_REF)
    	set_background_opaque
    	set_background_transparent
    	set_drawable (a_drawable: [like drawable] EV_DRAWABLE)
    	set_hv_text_alignment (h, v: INTEGER_32)
    	set_item (an_item: POINTER)
    	set_map_mode (mode: INTEGER_32)
    	set_pixel (x, y: INTEGER_32; color: WEL_COLOR_REF)
    	set_polygon_fill_mode (mode: INTEGER_32)
    	set_rop2 (a_rop2: INTEGER_32)
    	set_shared
    	set_stretch_blt_mode (a_mode: INTEGER_32)
    	set_text_alignment (an_alignment: INTEGER_32)
    	set_text_color (color: WEL_COLOR_REF)
    	set_unshared
    	set_viewport_extent (x_extent, y_extent: INTEGER_32)
    	set_viewport_origin (x_origin, y_origin: INTEGER_32)
    	set_window_extent (x_extent, y_extent: INTEGER_32)
    	set_window_origin (x_origin, y_origin: INTEGER_32)
    	set_world (a_world: [like world] EV_MODEL_WORLD)
    	start_document (title: STRING_GENERAL)
    	start_document_info (doc_info: WEL_DOC_INFO)
    	start_page
    	stretch_blt (x_destination, y_destination, width_destination, height_destination: INTEGER_32; dc_source: WEL_DC; x_source, y_source, width_source, height_source, raster_operation: INTEGER_32)
    	stretch_di_bits (x_destination, y_destination, a_width, a_height, x_source, y_source, dib_width, dib_height: INTEGER_32; dib: WEL_DIB; bitmap_info: WEL_BITMAP_INFO; rgb_mode, raster_operation: INTEGER_32)
    	tabbed_text_out (x, y: INTEGER_32; string: STRING_GENERAL; tabulations: ARRAY [INTEGER_32]; tabulations_origin: INTEGER_32)
    	text_out (x, y: INTEGER_32; string: STRING_GENERAL)
    	unselect_all
    	unselect_bitmap
    	unselect_brush
    	unselect_font
    	unselect_palette
    	unselect_pen
    	unselect_region