From 7be28dfc6d124cff7e7b42da80cdac933693f9e6 Mon Sep 17 00:00:00 2001 From: Matthias Felleisen Date: Thu, 24 Apr 2008 13:22:46 +0000 Subject: [PATCH] docs fixed for 4.0 svn: r9455 --- collects/teachpack/htdc/Docs/draw.scrbl | 37 ++++++------ collects/teachpack/htdc/Docs/htdc.scrbl | 5 +- collects/teachpack/htdc/Docs/idraw.scrbl | 77 +++++++++++++----------- collects/teachpack/htdc/draw.ss | 13 ++++ collects/teachpack/htdp/Docs/world.scrbl | 2 +- 5 files changed, 79 insertions(+), 55 deletions(-) diff --git a/collects/teachpack/htdc/Docs/draw.scrbl b/collects/teachpack/htdc/Docs/draw.scrbl index a0f361958b..ac048d14d3 100644 --- a/collects/teachpack/htdc/Docs/draw.scrbl +++ b/collects/teachpack/htdc/Docs/draw.scrbl @@ -1,9 +1,11 @@ #lang scribble/doc -@(require scribble/manual) +@(require scribble/manual (for-label teachpack/htdc/draw)) @title[#:tag "Jdraw"]{Draw: draw.*} +@declare-exporting[teachpack/htdc/draw] + Add @verbatim[#:indent 3]{ import draw.* @@ -54,10 +56,10 @@ exception. The abstract @tt{World} class exports the following methods. @; ----------------------------------------------------------------------------- -bigBang(int width,int height,double speed) +@defthing[bigBang (int width,int height,double speed)] Initializes the world, associates it with a @tt{width} x -@tt{height} @tt{Canvas}, displays +@tt{height} @seclink["canvas"]{@tt{Canvas}}, displays this canvas, enables keyevents, and finally starts the clock at a rate of one tick per @tt{speed} seconds. If it succeeds with all of its actions, the method produces @tt{true}. @@ -70,18 +72,18 @@ The canvas in @tt{World} is called @tt{theCanvas}. -References to a "canvas" in conjunction with the @tt{World} class + References to a "canvas" in conjunction with the @tt{World} class denote this default canvas. @; ----------------------------------------------------------------------------- -endOfTime() +@defthing[endOfTime ()] Displays the given message, stops the clock and, if it succeeds, produces @tt{true}. After the end of time, events no longer trigger calls to @tt{onTick} or @tt{onKeyEvent}. The canvas remains visible. @; ----------------------------------------------------------------------------- -endOfWorld(String msg) +@defthing[endOfWorld (String msg)] Displays the given message, stops the clock and, if it succeeds, produces the last @tt{World}. After the end of the world, events no longer trigger calls @@ -92,14 +94,14 @@ remains visible. A derived concrete class must supply definitions for the following methods: @; ----------------------------------------------------------------------------- -onTick() +@defthing[onTick ()] Invoked for every tick of the clock. Its purpose is to create a @tt{World} whose differences with @tt{this} one represent what happened during the amount of time it takes the clock to tick. @; ----------------------------------------------------------------------------- -onKeyEvent(String key) +@defthing[onKeyEvent (String key)] Invoked for every keyboard event associated with the canvas. Its purposes is to create a @tt{World} whose differences with @@ -108,9 +110,9 @@ Invoked for every keyboard event associated with the canvas. Its purposes @tt{key}. @; ----------------------------------------------------------------------------- -draw() +@defthing[draw ()] -Invoked after one of the two event handlers has been called. Its +Invoked @emph{after} one of the two event handlers has been called. Its purpose is to present @tt{this World} graphically on its canvas. If it succeeds, its result is @tt{true}. @@ -118,6 +120,7 @@ A program may, in principle, start several instances of (subclasses of) @tt{World}. If it does, the event handlers are called in a unpredictable order. +@; ----------------------------------------------------------------------------- @section[#:tag "canvas"]{Canvas} To create an instance of the @tt{Canvas} class, a program must supply @@ -126,14 +129,14 @@ height. The canvas is a rectangle, whose borders are parallel to the computer screen's borders. A program can use the following methods on instances of @tt{Canvas}] -show() +@defthing[show ()] Initializes the canvas to a white area, enables the drawing methods, and finally displays the canvas. If it succeeds, it produces @tt{true}. Invoking the method a second time without calling @tt{close} before has no effect. -close() +@defthing[close ()] Hides the canvas and erases the current content. If it succeeds, it produces @tt{true}. @@ -142,31 +145,31 @@ Closing the Canvas using the display controls does not fully hide the canvas; it is still necessary to invoke @tt{close} before @tt{show} is re-enabled. -drawCircle(Posn p,int r,IColor c)> +@defthing[drawCircle (Posn p,int r,IColor c)] Draws a circle on @tt{this}Canvas] at @tt{p} with radius @tt{r} and color @tt{c}. If it succeeds, it produces @tt{true}. -drawDisk(Posn p,int r,IColor c) +@defthing[drawDisk (Posn p,int r,IColor c)] Draws a disk on @tt{this}Canvas] at @tt{p} with radius @tt{r} and color @tt{c}. If it succeeds, it produces @tt{true}. -drawRect(Posn p,int w,int h,IColor c) +@defthing[drawRect (Posn p,int w,int h,IColor c)] Draws a solid rectangle on @tt{this}Canvas] at @tt{p} with width @tt{w}, height @tt{h}, and color @tt{c}. The rectangle's lines are parallel to the canvas's borders. If it succeeds, it produces @tt{true}. -drawLine(Posn p0,Posn p1,IColor c) +@defthing[drawLine (Posn p0,Posn p1,IColor c)] Draws a line on @tt{this}Canvas] from @tt{p0} to @tt{p1} using color @tt{c}. If it succeeds, it produces @tt{true}. -drawString(Posn p,String s) +@defthing[drawString (Posn p,String s)] Draws the string @tt{s} at @tt{p} on @tt{this}Canvas]. If it succeeds, it produces @tt{true}. diff --git a/collects/teachpack/htdc/Docs/htdc.scrbl b/collects/teachpack/htdc/Docs/htdc.scrbl index cf9779723b..0225156da5 100644 --- a/collects/teachpack/htdc/Docs/htdc.scrbl +++ b/collects/teachpack/htdc/Docs/htdc.scrbl @@ -7,7 +7,8 @@ @local-table-of-contents[] -@include-section["draw.scrbl"] @;"A Functional Drawing Library (HtDC)" -@;include-section["idraw.scrbl"] @;"An Imperative Drawing Library (HtDC)" @include-section["geometry.scrbl"] @;"A Geometry Library (HtDC)" @include-section["colors.scrbl"] @;"A Colors Library (HtDC)" + +@include-section["draw.scrbl"] @;"A Functional Drawing Library (HtDC)" +@include-section["idraw.scrbl"] @;"An Imperative Drawing Library (HtDC)" diff --git a/collects/teachpack/htdc/Docs/idraw.scrbl b/collects/teachpack/htdc/Docs/idraw.scrbl index a9fd55f926..882117bb10 100644 --- a/collects/teachpack/htdc/Docs/idraw.scrbl +++ b/collects/teachpack/htdc/Docs/idraw.scrbl @@ -1,49 +1,56 @@ -{ (define LIBNAME "An Imperative Drawing Library (HtDC)") - (include "head.tinc") } +#lang scribble/doc +@(require scribble/manual (for-label teachpack/htdc/draw)) -

Add -


+@title[#:tag "iJdraw"]{Draw: idraw.*}
+
+Add 
+@verbatim[#:indent 3]{
   import idraw.*
-
+} at the top of your Definitions Window to import this library. -

-

This idraw package provides stateful classes and imperative methods -for a visual world. Here is its class diagram of public fields and methods: -

-
+This package provides stateful classes and imperative methods for a visual
+world. Here is its class diagram of public fields and methods:
+@verbatim[#:indent 3]{
 import colors.*; 
 import geometry.*; 
 
   +---------------------------------+     
   | abstract World                  |
-  +---------------------------------+       +------------------------------------+
-  | Canvas theCanvas                |------>| Canvas                             |
-  +---------------------------------+       +------------------------------------+
-  | void bigBang(int,int,double)    |       +------------------------------------+
-  | World endOfTime(String)         |       | void show()                        |
-  | World endOfWorld(String)        |       | void close()                       |
-  | abstract void onTick()          |       | void drawCircle(Posn,int,IColor)   |
-  | abstract void onKeyEvent(String)|       | void drawDisk(Posn,int,IColor)     |
-  | abstract void draw()            |       | void drawRect(Posn,int,int,IColor) |
-  +---------------------------------+       | void drawLine(Posn,Posn,IColor)    |
-                                            | void drawString(Posn,String)       |
-                                            +------------------------------------+
-
-
-

+ +---------------------------------+ + | Canvas theCanvas |---+ + +---------------------------------+ | + | void bigBang(int,int,double) | | + | World endOfTime(String) | | + | World endOfWorld(String) | | + | abstract void onTick() | | + | abstract void onKeyEvent(String)| | + | abstract void draw() | | + +---------------------------------+ | + | + v + +------------------------------------+ + | Canvas | + +------------------------------------+ + +------------------------------------+ + | void show() | + | void close() | + | void drawCircle(Posn,int,IColor) | + | void drawDisk(Posn,int,IColor) | + | void drawRect(Posn,int,int,IColor) | + | void drawLine(Posn,Posn,IColor) | + | void drawString(Posn,String) | + +------------------------------------+ +} -

The abstract World class in idraw provides the same -methods as the World class in the -draw library. Their return values are usually void, -however, except for endOfTime and endOfWorld, which -continue to return the last world.

+The abstract @tt{World} class in @tt{idraw} provides the same methods as +the @tt{World} class in @secref["Jworld"] (@tt{draw} package). Their return +values are usually @tt{void}, however, except for @tt{endOfTime} and +@tt{endOfWorld}, which continue to return the last world. -

In an analogous manner, the methods in the Canvas class export -the same methods as the Canvas class in the draw package. Their return values, -however, are void.

+In an analogous manner, the methods in the @tt{Canvas} class export +the same methods as the @tt{Canvas} class in @secref["canvas"] +(@tt{draw} package). Again their return values are @tt{void}. -{(include "foot.tinc")} diff --git a/collects/teachpack/htdc/draw.ss b/collects/teachpack/htdc/draw.ss index 4ea13039b3..3348c5c875 100644 --- a/collects/teachpack/htdc/draw.ss +++ b/collects/teachpack/htdc/draw.ss @@ -1 +1,14 @@ +#lang scheme + +(define (err n) + (lambda x + (error n "is a stub; see docs for draw.*"))) + +(define-syntax prov + (syntax-rules () + [(prov name ...) (begin (provide name ...) (define name (err name)) ...)])) + +(prov bigBang endOfTime endOfWorld onTick onKeyEvent draw show close + drawCircle drawDisk drawRect drawLine drawString) + (printf "this is just a stand-in for the plt/collects/htdch/draw/ library\n") diff --git a/collects/teachpack/htdp/Docs/world.scrbl b/collects/teachpack/htdp/Docs/world.scrbl index bc842a2875..a01f33f7ae 100644 --- a/collects/teachpack/htdp/Docs/world.scrbl +++ b/collects/teachpack/htdp/Docs/world.scrbl @@ -8,7 +8,7 @@ @title[#:tag "world"]{Simulations and Animations: world.ss} -@declare-exporting[teachpack/htdp/world] +@declare-exporting[teachpack/htdp/world #:use-sources (teachpack/htdp/image)] The teachpack provides two sets of tools. The first allows students to create and display a series of animated scenes, i.e., a simulation. The