/* TEACH GO_CIRCLE                              Ben Rabau, 27th Aug 1993

This file refers to circle objects in GO. This is a special case of a go_arc.
See TEACH * GO_ARC.

For more general detailed information see

HELP * GO
REF * GO

         CONTENTS - (Use <ENTER> g to access required sections)

 -- Example
 -- Appearance
 -- Editing: Direct Manipulation

 */

;;; This requires the following files to be loaded:
uses go;
uses go_circle;

;;; It also requires an active go_pane (see TEACH * GO_PANE):
go_init_rc();

/*
-- Example ------------------------------------------------------------
 */
;;; An example circle (with radius of 50 in world coordinates):
vars a_circle = instance go_circle;
                     go_radius = 50;
                endinstance;
go_add_to( a_circle, go_default_pane );

/*
-- Appearance ---------------------------------------------------------
 */
;;; You can fill and colour it:
'aquamarine' -> go_bgcolour( a_circle );
true -> go_filled( a_circle );


;;; You can scale it directly or indirectly (by squeezing the bounding box):
2 -> go_xscale( a_circle );
go_bounding_height( a_circle ) =>         ;;; Original height
60 -> go_bounding_height( a_circle );     ;;; New reduced height

/*
-- Editing: Direct Manipulation ---------------------------------------
 */
;;; Or influence it with the editors:
go_make_editable( a_circle );

;;; One editor sets the go_radius (through the starting point of the circle),
;;; whereas the centre editor allows the relocation of the centre of the object.

;;; To finish do:
go_make_uneditable( a_circle );

;;; eof

--- C.all/lib/proto/go/teach/go_circle
--- Copyright University of Sussex 1993. All rights reserved.
