File: Scratchpad2dUser.mesa
Last edited by Bier on May 31, 1984 4:48:36 pm PDT
Copyright © 1984 by Xerox Corporation. All rights reserved.
Author: Eric Bier on July 30, 1984 2:00:24 am PDT
Contents: Functions called by the buttons on a Scratchpad2d viewer.
DIRECTORY
Containers,
Graphics,
Imager,
Menus,
PadGraphics,
SV2d,
SVInterfaceTypes,
SVModelTypes,
SVSlices,
ViewerClasses;
Scratchpad2dUser: CEDAR DEFINITIONS =
BEGIN
CoordSystem: TYPE = SVModelTypes.CoordSystem;
MouseButton: TYPE = Menus.MouseButton;
Path: TYPE = SV2d.Path;
Polygon: TYPE = SV2d.Polygon;
Point2d: TYPE = SV2d.Point2d;
Slice: TYPE = SVSlices.Slice;
Viewer: TYPE = ViewerClasses.Viewer;
ScratchViewerData: TYPE = SVInterfaceTypes.ScratchViewerData;
ScratchpadData: TYPE = SVInterfaceTypes.ScratchpadData;
Painter: PROC [proc: PROC [Imager.Context], scratchViewerData: ScratchViewerData ← NIL];
PaintLin: PROC [dc: Imager.Context, scratchpadData: ScratchpadData];
PaintRevo: PROC [dc: Imager.Context, scratchpadData: ScratchpadData];
EraseButton: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton, shift, control: BOOL];
NormalsButton: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton, shift, control: BOOL];
PlaceOrigin: PROC [viewer: Viewer];
CrossHairsButton: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton, shift, control: BOOL];
DrawSceneButton: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton, shift, control: BOOL];
NewLinButton: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton, shift, control: BOOL];
NewRevoButton: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton, shift, control: BOOL];
TestPointsButton: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton, shift, control: BOOL];
CircleButton: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton, shift, control: BOOL];
DrawSliceButton: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton, shift, control: BOOL];
A Button proc which makes a slice from the Assembly: in the edittool and calls DrawSliceAux.
HardcopyButton: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton, shift, control: BOOL];
Make an interpress document of the scratchpad.
A Button proc which makes a slice from the Assembly: in the edittool and calls DrawSliceAux. Draws every other segment black (ignores classifs).
SliceRepeatButton: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton, shift, control: BOOL];
Slice DrawSliceButton but doesn't recompute the ray tracing tree.
EditMode: TYPE = {lin, revo};
Edit: PROC [path: Path, mode: EditMode, scratchViewerData: ScratchViewerData];
Makes poly be the current polygon.
SetSlice: PROC [scratchViewerData: ScratchViewerData, slice: Slice];
END.