mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-12-01 18:50:30 +00:00
115 lines
2.5 KiB
OpenEdge ABL
115 lines
2.5 KiB
OpenEdge ABL
|
|
||
|
{
|
||
|
Created: Saturday, July 27, 1991 at 9:26 PM
|
||
|
Graf3D.p
|
||
|
Pascal Interface to the Macintosh Libraries
|
||
|
|
||
|
Copyright Apple Computer, Inc. 1985-1991
|
||
|
All rights reserved
|
||
|
This file is used in these builds: Mac32 BigBang Sys606
|
||
|
|
||
|
|
||
|
Change History (most recent first):
|
||
|
|
||
|
<3> 7/30/91 JL Updated Copyright.
|
||
|
<2> 1/27/91 LN Checked in Database generate file from DSG.
|
||
|
|
||
|
To Do:
|
||
|
}
|
||
|
|
||
|
|
||
|
{$IFC UNDEFINED UsingIncludes}
|
||
|
{$SETC UsingIncludes := 0}
|
||
|
{$ENDC}
|
||
|
|
||
|
{$IFC NOT UsingIncludes}
|
||
|
UNIT Graf3D;
|
||
|
INTERFACE
|
||
|
{$ENDC}
|
||
|
|
||
|
{$IFC UNDEFINED UsingGraf3D}
|
||
|
{$SETC UsingGraf3D := 1}
|
||
|
|
||
|
{$I+}
|
||
|
{$SETC Graf3DIncludes := UsingIncludes}
|
||
|
{$SETC UsingIncludes := 1}
|
||
|
{$IFC UNDEFINED UsingQuickdraw}
|
||
|
{$I $$Shell(PInterfaces)Quickdraw.p}
|
||
|
{$ENDC}
|
||
|
{$SETC UsingIncludes := Graf3DIncludes}
|
||
|
|
||
|
CONST
|
||
|
radConst = 3754936;
|
||
|
|
||
|
TYPE
|
||
|
XfMatrix = ARRAY [0..3,0..3] OF Fixed;
|
||
|
|
||
|
Point3D = RECORD
|
||
|
x: Fixed;
|
||
|
y: Fixed;
|
||
|
z: Fixed;
|
||
|
END;
|
||
|
|
||
|
Point2D = RECORD
|
||
|
x: Fixed;
|
||
|
y: Fixed;
|
||
|
END;
|
||
|
|
||
|
Port3DPtr = ^Port3D;
|
||
|
Port3DHandle = ^Port3DPtr;
|
||
|
Port3D = RECORD
|
||
|
grPort: GrafPtr;
|
||
|
viewRect: Rect;
|
||
|
xLeft: Fixed;
|
||
|
yTop: Fixed;
|
||
|
xRight: Fixed;
|
||
|
yBottom: Fixed;
|
||
|
pen: Point3D;
|
||
|
penPrime: Point3D;
|
||
|
eye: Point3D;
|
||
|
hSize: Fixed;
|
||
|
vSize: Fixed;
|
||
|
hCenter: Fixed;
|
||
|
vCenter: Fixed;
|
||
|
xCotan: Fixed;
|
||
|
yCotan: Fixed;
|
||
|
ident: BOOLEAN;
|
||
|
xForm: XfMatrix;
|
||
|
END;
|
||
|
|
||
|
|
||
|
PROCEDURE InitGrf3d(port: Port3DHandle);
|
||
|
PROCEDURE Open3DPort(port: Port3DPtr);
|
||
|
PROCEDURE SetPort3D(port: Port3DPtr);
|
||
|
PROCEDURE GetPort3D(VAR port: Port3DPtr);
|
||
|
PROCEDURE MoveTo2D(x: Fixed;y: Fixed);
|
||
|
PROCEDURE MoveTo3D(x: Fixed;y: Fixed;z: Fixed);
|
||
|
PROCEDURE LineTo2D(x: Fixed;y: Fixed);
|
||
|
PROCEDURE Move2D(dx: Fixed;dy: Fixed);
|
||
|
PROCEDURE Move3D(dx: Fixed;dy: Fixed;dz: Fixed);
|
||
|
PROCEDURE Line2D(dx: Fixed;dy: Fixed);
|
||
|
PROCEDURE Line3D(dx: Fixed;dy: Fixed;dz: Fixed);
|
||
|
PROCEDURE ViewPort(r: Rect);
|
||
|
PROCEDURE LookAt(left: Fixed;top: Fixed;right: Fixed;bottom: Fixed);
|
||
|
PROCEDURE ViewAngle(angle: Fixed);
|
||
|
PROCEDURE Identity;
|
||
|
PROCEDURE Scale(xFactor: Fixed;yFactor: Fixed;zFactor: Fixed);
|
||
|
PROCEDURE Translate(dx: Fixed;dy: Fixed;dz: Fixed);
|
||
|
PROCEDURE Pitch(xAngle: Fixed);
|
||
|
PROCEDURE Yaw(yAngle: Fixed);
|
||
|
PROCEDURE Roll(zAngle: Fixed);
|
||
|
PROCEDURE Skew(zAngle: Fixed);
|
||
|
PROCEDURE Transform(src: Point3D;VAR dst: Point3D);
|
||
|
FUNCTION Clip3D(src1: Point3D;src2: Point3D;VAR dst1: Point;VAR dst2: Point): INTEGER;
|
||
|
PROCEDURE SetPt3D(VAR pt3D: Point3D;x: Fixed;y: Fixed;z: Fixed);
|
||
|
PROCEDURE SetPt2D(VAR pt2D: Point2D;x: Fixed;y: Fixed);
|
||
|
PROCEDURE LineTo3D(x: Fixed;y: Fixed;z: Fixed);
|
||
|
|
||
|
|
||
|
{$ENDC} { UsingGraf3D }
|
||
|
|
||
|
{$IFC NOT UsingIncludes}
|
||
|
END.
|
||
|
{$ENDC}
|
||
|
|