<> <> <> <> <> <<>> DIRECTORY CDInstances, CDPolygons, CDTexts, CD, CDCurves, CDIO, TokenIO; CDPolygonsImpl: CEDAR PROGRAM IMPORTS CD, CDIO, CDCurves, TokenIO EXPORTS CDPolygons = BEGIN polygonClass: PUBLIC CD.ObjectClass _ CD.RegisterObjectClass[$Polygon, [ internalRead: ReadPolygon, description: "old kind of polygon" ]]; CreatePolygon: PUBLIC PROC [points: LIST OF CD.Position, lev: CD.Layer] RETURNS [ob: CD.Object_NIL, offset: CD.Position_[0, 0]] = BEGIN [ob: ob, offset: offset] _ CDCurves.CreatePolygon[points, lev]; END; ReadPolygon: CD.InternalReadProc --PROC [] RETURNS [Object]-- = BEGIN ob: CD.Object; lev: CD.Layer = CDIO.ReadLayer[]; leng: INT = TokenIO.ReadInt[]; points: LIST OF CD.Position _ NIL; FOR i: INT IN [1..leng] DO points _ CONS[CDIO.ReadPos[], points]; ENDLOOP; <<--reorder??>> ob _ CreatePolygon[points, lev].ob; RETURN [ob] END; END.