DIRECTORY Draw2d, GGBasicTypes, GGCoreTypes, GGSegmentTypes, Imager, ImagerTransformation; GGShapes: CEDAR DEFINITIONS = BEGIN BoundBox: TYPE = GGCoreTypes.BoundBox; Circle: TYPE = GGBasicTypes.Circle; Line: TYPE = GGCoreTypes.Line; Point: TYPE = GGBasicTypes.Point; Vector: TYPE = GGBasicTypes.Vector; SelectionClass: TYPE = GGSegmentTypes.SelectionClass; DrawRectangle: PROC [dc: Imager.Context, loX, loY, hiX, hiY: REAL, strokeWidth: REAL _ 1.0]; DrawFilledRectangle: PROC [dc: Imager.Context, loX, loY, hiX, hiY: REAL]; DrawBoundBox: PROC [dc: Imager.Context, bBox: BoundBox, strokeWidth: REAL _ 1.0]; DrawSquare: PROC [dc: Imager.Context, center: Point, side: REAL, strokeWidth: REAL _ 1.0]; DrawFilledSquare: PROC [dc: Imager.Context, center: Point, side: REAL]; DrawFilledLoLeftSquare: PROC [dc: Imager.Context, loLeft: Point, side: REAL]; DrawPlus: PROC [dc: Imager.Context, center: Point]; DrawLine: PROC [dc: Imager.Context, line: Line, clippedBy: Imager.Rectangle, strokeWidth: REAL _ 1.0, zip: Draw2d.Zip _ NIL]; DrawLittleLine: PROC [dc: Imager.Context, line: Line, point: Point]; DrawCircle: PROC [dc: Imager.Context, circle: Circle]; DrawStarburst: PROC [dc: Imager.Context, point: Point, scale: REAL _ 1.0, zip: Draw2d.Zip _ NIL]; DrawCaret: PROC [dc: Imager.Context, point: Point, normal: Vector, scale: REAL]; DrawAnchor: PROC [dc: Imager.Context, point: Point, normal: Vector, scale: REAL]; DrawSpot: PROC [dc: Imager.Context, point: Point]; DrawJoint: PROC [dc: Imager.Context, point: Point, scale: REAL]; DrawCP: PROC [dc: Imager.Context, point: Point, scale: REAL]; DrawSelectedJoint: PROC [dc: Imager.Context, point: Point, selectClass: SelectionClass, scale: REAL]; DrawQuickSelectedJoint: PROC [dc: Imager.Context, point: Point, selectClass: SelectionClass, scale: REAL]; DrawArrow: PROC [dc: Imager.Context, tip: Point, base: Point, strokeWidth: REAL]; ArrowSize: PROC [strokeWidth: REAL] RETURNS [height, halfWidth: REAL]; END. GGShapes.mesa Author: Eric Bier on June 7, 1985 4:47:32 pm PDT Contents: Predefined shapes for use in Gargoyle (e.g. squares for control points). Bier, October 24, 1988 3:46:53 pm PDT Pier, August 25, 1986 5:05:57 pm PDT Eisenman, July 21, 1987 4:52:25 pm PDT General Purpose Drawing Routines Draws the indicated rectangle (not filled). Draws the indicated filled rectangle. Draws the indicated box (not filled). Equivalent to DrawRectangle[dc, bBox.loX, bBox.loY, bBox.hiX, bBox.hiY]; Draws a square of side side centered on center (not filled). Draws a filled square of side side centered on center. Draws a filled square of side side with lower left-hand corner on loLeft. Draws a side x side square centered on center. Draws a line all the way across the screen. Draw a short line (1 inch) centered on point, parallel to line. Draw a six pointed starburst (similar to an asterisk) centered on point. Gargoyle-Specific Drawing Routines scale is the scaling component of the current Biscrollers transformation. scale is the scaling component of the current Biscrollers transformation. Draws a one-pixel square with lower left corner at point. scale is the scaling component of the current Biscrollers transformation. The arrowhead will fit in a box of size height by (halfWidth*2). ʧ˜Icodešœ ™ KšÏnœ'Ïk™0šœJ™RKšœ%™%Kšœ!ž™$Kšœ&™&—K˜šž ˜ KšœP˜PK˜—Kšœžœž œž˜#˜Kšœ žœ˜&Kšœžœ˜#Kšœžœ˜Kšœžœ˜!Kšœžœ˜#Kšœžœ!˜5—K˜Kšœ ™ š œžœ*žœžœ˜\K™+—šœžœ*žœ˜IKšœ%™%—š œžœ3žœ˜QKšœo™o—š œžœ+žœžœ˜ZKšœ<™<—šœžœ+žœ˜GKšœ6™6—šœžœ+žœ˜MKšœI™I—K˜šœžœ%˜3K™.—šœžœLžœžœ˜}K™+—šœžœ0˜DK™?—Kš œžœ&˜6š œžœ+žœžœ˜aK™H—K™Kšœ"™"š œžœ;žœ˜PK™I—š œžœ;žœ˜QK™I—K˜šœžœ$˜2Kšœ9™9—K˜š œžœ+žœ˜@K™I—Kšœžœ+žœ˜=KšœžœHžœ˜eKšœžœHžœ˜jK˜Kš œžœ<žœ˜Qš œžœžœžœžœ˜FKšœ@™@—K˜Kšžœ˜K™K™—…—®c