    deferred class
    	EV_WIDGET_PROJECTOR

    General
    	cluster: interface
    	description: "Projectors for widgets."
    	keywords: "projector, events"

    Ancestors
    	EV_FIGURE_DRAWER*
    	EV_PROJECTION_ROUTINES*
    	EV_PROJECTOR*

    Queries
    	area: EV_DRAWABLE
    	area_x: INTEGER_32
    	area_y: INTEGER_32
    	buffer_used: BOOLEAN
    	Default_colors: EV_STOCK_COLORS
    	drawable: EV_DRAWABLE
    	is_projecting: BOOLEAN
    	widget: EV_WIDGET
    	world: EV_FIGURE_WORLD

    Commands
    	change_area_position (a_x, a_y: INTEGER_32)
    	clear_device
    	draw_figure_arc (arc: EV_FIGURE_ARC)
    	draw_figure_dot (dot: EV_FIGURE_DOT)
    	draw_figure_ellipse (ellipse: EV_FIGURE_ELLIPSE)
    	draw_figure_equilateral (eql: EV_FIGURE_EQUILATERAL)
    	draw_figure_line (line: EV_FIGURE_LINE)
    	draw_figure_picture (picture: EV_FIGURE_PICTURE)
    	draw_figure_pie_slice (slice: EV_FIGURE_PIE_SLICE)
    	draw_figure_polygon (polygon: EV_FIGURE_POLYGON)
    	draw_figure_polyline (line: EV_FIGURE_POLYLINE)
    	draw_figure_rectangle (rectangle: EV_FIGURE_RECTANGLE)
    	draw_figure_rounded_rectangle (f: EV_FIGURE_ROUNDED_RECTANGLE)
    	draw_figure_star (star: EV_FIGURE_STAR)
    	draw_figure_text (text_figure: EV_FIGURE_TEXT)
    	draw_grid
    	full_project
    	project
    	project_rectangle (u: EV_RECTANGLE)
    	register_figure (a_figure: EV_FIGURE; a_routine: PROCEDURE [ANY, TUPLE [EV_FIGURE]])
    	set_drawable (a_drawable: EV_DRAWABLE)
    	set_world (a_world: EV_FIGURE_WORLD)
    	update_rectangle (u: EV_RECTANGLE; a_x, a_y: INTEGER_32)