    deferred class
    	EV_DRAWABLE_I

    General
    	cluster: implementation_mswin
    	description: "EiffelVision drawable. Implementation interface."
    	keywords: "figures, primitives, drawing, line, point, ellipse"

    Ancestors
    	EV_ANY_I*
    	EV_COLORIZABLE_I*
    	EV_DRAWABLE_CONSTANTS
    	EV_FONTABLE_I*
    	SINGLE_MATH

    Queries
    	arc_cosine (v: REAL_32): REAL_32
    	arc_sine (v: REAL_32): REAL_32
    	arc_tangent (v: REAL_32): REAL_32
    	background_color: EV_COLOR
    	ceiling (v: REAL_32): REAL_32
    	clip_area: EV_RECTANGLE
    	cosine (v: REAL_32): REAL_32
    	dashed_line_style: BOOLEAN
    	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
    	Euler: REAL_64
    	floor (v: REAL_32): REAL_32
    	font: EV_FONT
    	foreground_color: EV_COLOR
    	height: 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
    	Pi: REAL_64
    	sine (v: REAL_32): REAL_32
    	sqrt (v: REAL_32): REAL_32
    	Sqrt2: REAL_64
    	sub_pixmap (area: EV_RECTANGLE): EV_PIXMAP
    	tangent (v: REAL_32): REAL_32
    	tile: EV_PIXMAP
    	valid_drawing_mode (a_mode: INTEGER_32): BOOLEAN
    	width: INTEGER_32

    Commands
    	clear
    	clear_rectangle (x1, y1, a_width, a_height: INTEGER_32)
    	disable_dashed_line_style
    	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; angle: REAL_32; a_text: STRING_GENERAL)
    	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_dashed_line_style
    	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)
    	redraw
    	remove_clipping
    	remove_tile
    	set_background_color (a_color: [like background_color] EV_COLOR)
    	set_clip_area (an_area: EV_RECTANGLE)
    	set_clip_region (a_region: EV_REGION)
    	set_default_colors
    	set_drawing_mode (a_mode: INTEGER_32)
    	set_font (a_font: EV_FONT)
    	set_foreground_color (a_color: [like foreground_color] EV_COLOR)
    	set_line_width (a_width: INTEGER_32)
    	set_tile (a_pixmap: EV_PIXMAP)