SVStateImpl.mesa
Copyright © 1986 by Xerox Corporation. All rights reserved.
Last edited by Bier on March 30, 1987 12:52:26 pm PST
Contents: Routines for getting and setting the state or "modes" of the Solidviews interface.
DIRECTORY
SVInterfaceTypes, SVRayTypes, SVSceneTypes, SVState;
SVStateImpl:
CEDAR
PROGRAM
IMPORTS
EXPORTS SVState
=
BEGIN
ExtendMode: TYPE = SVSceneTypes.ExtendMode;
GravityType: TYPE = SVInterfaceTypes.GravityType;
SearchDepth: TYPE = SVRayTypes.SearchDepth;
SelectMode: TYPE = SVSceneTypes.SelectMode;
SliceDescriptor: TYPE = SVSceneTypes.SliceDescriptor;
SVData: TYPE = SVInterfaceTypes.SVData;
GetGravityType:
PUBLIC
PROC [svData: SVData]
RETURNS [type: GravityType] = {
type ← svData.hitTest.gravityType;
};
GetSearchDepth:
PUBLIC
PROC [svData: SVData]
RETURNS [searchDepth: SearchDepth] = {
searchDepth ← first;
};
GetSelectMode:
PUBLIC
PROC [svData: SVData]
RETURNS [selectMode: SelectMode] = {
RETURN[svData.drag.selectState];
};
SetSelectMode:
PUBLIC
PROC [svData: SVData, selectMode: SelectMode] = {
svData.drag.selectState ← selectMode;
};
GetExtendMode:
PUBLIC
PROC [svData: SVData]
RETURNS [extendMode: ExtendMode] = {
RETURN[svData.drag.extendMode];
};
SetExtendMode:
PUBLIC
PROC [svData: SVData, extendMode: ExtendMode] = {
svData.drag.extendMode ← extendMode;
};
GetSliceToExtend:
PUBLIC
PROC [svData: SVData]
RETURNS [slice: SliceDescriptor] = {
RETURN[svData.drag.sliceToExtend];
RETURN[NIL];
};
SetSliceToExtend:
PUBLIC
PROC [svData: SVData, slice: SliceDescriptor] = {
svData.drag.sliceToExtend ← slice;
};
END.