    deferred class
    	EV_DRAWABLE

    General
    	cluster: interface
    	description:
    		"Abstraction for objects onto which graphical primitives may be applied.

    		Note: When line style is dashed and line width is bigger than one,
    		lines are not guaranteed to be dashed on all platforms.
    		All drawing operations are performed in the current
    		oreground color unless otherwise stated. i.e. `clear_rectangle'
    		uses the current background color."
    	keywords: "figure, primitive, drawing, line, point, ellipse"

    Ancestors
    	EV_COLORIZABLE*
    	EV_DRAWABLE_CONSTANTS
    	EV_FONTABLE*

    Queries
    	background_color: EV_COLOR
    	clip_area: EV_RECTANGLE
    	dashed_line_style: BOOLEAN
    	data: ANY
    	drawing_mode: INTEGER_32
    	font: EV_FONT
    	foreground_color: EV_COLOR
    	height: INTEGER_32
    	is_destroyed: BOOLEAN
    	line_width: INTEGER_32
    	sub_pixmap (area: EV_RECTANGLE): EV_PIXMAP
    	tile: EV_PIXMAP
    	valid_drawing_mode (a_mode: INTEGER_32): BOOLEAN
    	width: INTEGER_32

    Commands
    	clear
    	clear_rectangle (x, y, a_width, a_height: INTEGER_32)
    	copy (other: [like Current] EV_DRAWABLE)
    	destroy
    	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_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)
    	remove_clip_area
    	remove_clipping
    	remove_tile
    	set_and_mode
    	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_copy_mode
    	set_data (some_data: [like data] ANY)
    	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_invert_mode
    	set_line_width (a_width: INTEGER_32)
    	set_or_mode
    	set_tile (a_pixmap: EV_PIXMAP)
    	set_xor_mode

    Constraints
    	line width positive or zero
    	drawing mode valid