ORIGIN 'Bifrost'; LIB_ITEM 'bifrost'; BODY 'private/Impl/PredefinedGoImpl' (* * COPYRIGHT * Copyright Mjolner Informatics, 1990-94 * All rights reserved. *) -- BifrostAttributes: attributes -- PredefinedGraphicalObject: AbstractGraphicalObject (# shapeDesc::< PredefinedShape; TMDesc::< (# enterTM::< (# do ...; INNER #)#); init::< (# ... #); getShape::< (# do theShape.calculateShape -> s[] #); do INNER; #);
Line: PredefinedGraphicalObject (# shapeDesc::< LineShape; begin: (# enter theShape.begin exit theShape.begin #); end: (# enter theShape.end exit theShape.end #); width: (# enter theShape.width exit theShape.width #); dashes: (# enter theShape.dashes exit theShape.dashes #); cap: (# enter theShape.cap exit theShape.cap #); coordinates: (# enter theShape.coordinates exit theShape.coordinates #); draw::< (# ... #); copy::< (# do INNER; ... #); do INNER; #);
MultiLine: PredefinedGraphicalObject (# shapeDesc::< MultiLineShape; width: (# enter theShape.width exit theShape.width #); points: (# enter theShape.points exit theShape.points #); addPoint: (# p: @point enter p do p->(TM).inversetransformpoint->theShape.addPoint #); insertPoint: (# i: @integer; p: @point enter (p,i) do (p->(TM).inversetransformpoint,i)->theShape.insertPoint #); deletePoint: (# p: @point enter p do p->(TM).inversetransformpoint->theShape.deletePoint #); getPoint: (# i: @Integer; p: @Point; enter i do i->theShape.getPoint->p exit p #); setPoint: (# i: @Integer; p: @Point; enter (i,p) do (p->(TM).inversetransformpoint,i)->theShape.setPoint #); closestLineSegment: (# p: @point; i: @integer enter p do p->(TM).inversetransformpoint->theShape.closestLineSegment->i exit i #); dashes: (* Not Yet Implemented *) (# enter theShape.dashes exit theShape.dashes #); cap: (# enter theShape.cap exit theShape.cap #); join: (# enter theShape.join exit theShape.join #); draw::< (# ... #); copy::< (# do INNER; ... #); do INNER; #);
GraphicalText: GraphicText(# #); (* Alias *) GraphicText: PredefinedGraphicalObject (# shapeDesc::< TextShape; inittext: (# enter theShape.inittext #); position: (# enter theShape.position exit theShape.position #); thefontname: (# enter theShape.thefontname exit theShape.thefontname #); theStyle: (# enter theShape.theStyle exit theShape.theStyle #); size: (# enter theShape.size exit theShape.size #); underline: (# enter theShape.underline exit theShape.underline #); theText: (# enter theShape.theText exit theShape.theText #); draw::< (# ... #); copy::< (# ... #); interactiveCreateShape::< (# lastCh: @Char; (* Last character typed in interaction *) ... exit lastCh #); interactiveReshape::< (# lastCh: @Char; (* Last character typed in interaction *) ... exit lastCh #); do INNER; #);
Arc: PredefinedGraphicalObject (# shapeDesc::< ArcShape; center: (# enter theShape.center exit theShape.center #); horizontalRadius: (# enter theShape.horizontalradius exit theShape.horizontalradius #); verticalRadius: (# enter theShape.verticalradius exit theShape.verticalradius #); angle1: (# enter theShape.angle1 exit theShape.angle1 #); angle2: (# enter theShape.angle2 exit theShape.angle2 #); arcWidth: (# enter theShape.arcWidth exit theShape.arcWidth #); draw::< (# ... #); copy::< (# do INNER; ... #); do INNER #);
PieSlice: PredefinedGraphicalObject (# shapeDesc::< PieShape; center: (# enter theShape.center exit theShape.center #); horizontalRadius: (# enter theShape.horizontalradius exit theShape.horizontalradius #); verticalRadius: (# enter theShape.verticalradius exit theShape.verticalradius #); angle1: (# enter theShape.angle1 exit theShape.angle1 #); angle2: (# enter theShape.angle2 exit theShape.angle2 #); draw::< (# ... #); copy::< (# do INNER; ... #); do INNER #); StrokeAblePredefinedGraphicalObject: PredefinedGraphicalObject (# shapeDesc::< StrokeableShape do INNER #);
Rect: StrokeAblePredefinedGraphicalObject (# shapeDesc::< RectShape; upperleft: (# enter theShape.upperleft exit theShape.upperleft #); width: (# enter theShape.width exit theShape.width #); height: (# enter theShape.height exit theShape.height #); corners: (# enter theShape.corners exit theShape.corners #); draw::< (# ... #); copy::< (# do INNER; ... #); do INNER; #);
Ellipse: StrokeAblePredefinedGraphicalObject (# shapeDesc::< EllipseShape; center: (# enter theShape.center exit theShape.center #); horizontalradius: (# enter theShape.horizontalradius exit theShape.horizontalradius #); verticalradius: (# enter theShape.verticalradius exit theShape.verticalradius #); geometry: (# enter theShape.geometry exit theShape.geometry #); draw::< (# ... #); copy::< (# do INNER; ... #); do INNER; #)
14.39 PredefinedGO Interface | © 1991-2002 Mjølner Informatics |
[Modified: Thursday September 23rd 1999 at 10:32]
|