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