;;;; ;;;; E x a m p l e 1 . s t k ;;;; ;;;; Copyright (C) 1993,1994,1995 Erick Gallesio - I3S-CNRS/ESSI ;;;; ;;;; Permission to use, copy, and/or distribute this software and its ;;;; documentation for any purpose and without fee is hereby granted, provided ;;;; that both the above copyright notice and this permission notice appear in ;;;; all copies and derived works. Fees for distribution or use of this ;;;; software or derived works may only be charged with express written ;;;; permission of the copyright holder. ;;;; This software is provided ``as is'' without express or implied warranty. ;;;; ;;;; Author: Erick Gallesio [eg@kaolin.unice.fr] ;;;; Creation date: 5-Aug-1994 11:11 ;;;; Last file update: 5-Aug-1994 16:41 (require "Canvas") ;;;; Create canvas (define c (make )) (pack c) ;;;; Create items (define r1 (make :parent c :coords '( 0 0 50 50) :fill "blue")) (define r2 (make :parent c :coords '( 50 50 100 100) :fill "red")) (define o1 (make :parent c :coords '(100 100 150 150) :fill "blue")) (define o2 (make :parent c :coords '(150 150 200 200) :fill "red")) ;;; Define some families (define rectangles (make :parent c)) (define ovals (make :parent c)) (define blue (make :parent c)) (define red (make :parent c)) ;;;; And add members of these families (add-to-group rectangles r1 r2) (add-to-group ovals o1 o2) (add-to-group blue r1 o1) (add-to-group red r2 o2) ;;;; Work with group (move rectangles 100 100) (move ovals -100 -100) (move blue 100 0) (destroy red) ;;;; Find the items of a group (format #t "items of group blue ~s\n" (items-of-group blue)) ;;;; delete an item of a group (delete-from-group blue r1) (format #t "items of group blue ~s\n" (items-of-group blue)) (destroy blue) ;;; Only the blue square (r1) is alive....