2019-06-29 22:17:03 +08:00

92 lines
3.0 KiB
Plaintext

; Version: 2.98
; Created: Friday, October 20, 1989 at 9:22:27 PM
;
; File: Graf3DEqu.a
;
; Assembler Interface to the Macintosh Libraries
; Copyright Apple Computer, Inc. 1984-1988
; All Rights Reserved
;
;-------------------------------------------------------------------------
IF &TYPE('__IncludingGraf3DEqu__') = 'UNDEFINED' THEN
__IncludingGraf3DEqu__ SET 1
; Equates for Graf3D
; Three-dimensional graphics routines layered on top of QuickDraw
FixRad EQU 3754936 ;radConst = 57.29578
FracRad EQU 1073741824
;offsets
;Point3D and Point2D
x EQU 0 ;Fixed
y EQU 4 ;Fixed
z EQU 8 ;Fixed
;XfMatrix = ARRAY[0..3,0..3] OF fixed
xf00 EQU 0
xf01 EQU 4
xf02 EQU 8
xf03 EQU 12
xf10 EQU 16
xf11 EQU 20
xf12 EQU 24
xf13 EQU 28
xf20 EQU 32
xf21 EQU 36
xf22 EQU 40
xf23 EQU 44
xf30 EQU 48
xf31 EQU 52
xf32 EQU 56
xf33 EQU 60
;Port3D
GrPort EQU 0 ;GrafPtr
viewRect EQU 4 ;Rect
xLeft EQU 12 ;Fixed
yTop EQU 16 ;Fixed
xRight EQU 20 ;Fixed
yBottom EQU 24 ;Fixed
pen EQU 28 ;Point3D
penPrime EQU 40 ;Point3D
eye EQU 52 ;Point3D
hSize EQU 64 ;Fixed
vSize EQU 68 ;Fixed
hCenter EQU 72 ;Fixed
vCenter EQU 76 ;Fixed
xCotan EQU 80 ;Fixed
yCotan EQU 84 ;Fixed
ident EQU 88 ;BOOLEAN
xForm EQU 90 ;XfMatrix
szPort3D EQU 154 ;size of Port3D
IMPORT InitGrf3D, Open3DPort, SetPort3D, GetPort3D
;PROCEDURE InitGrf3D (globalPtr: Ptr);
;PROCEDURE Open3DPort (port: Port3DPtr);
;PROCEDURE SetPort3D (port: Port3DPtr);
;PROCEDURE GetPort3D (VAR port: Port3DPtr);
IMPORT MoveTo2D, MoveTo3D, LineTo2D, LineTo3D, Move2D, Move3D, Line2D, Line3D
;PROCEDURE MoveTo2D (x,y: Fixed);
;PROCEDURE MoveTo3D (x,y,z: Fixed);
;PROCEDURE LineTo2D (x,y: Fixed);
;PROCEDURE LineTo3D (x,y,z: Fixed);
;PROCEDURE Move2D (dx,dy: Fixed);
;PROCEDURE Move3D (dx,dy,dz: Fixed);
;PROCEDURE Line2D (dx,dy: Fixed);
;PROCEDURE Line3D (dx,dy,dz: Fixed);
IMPORT ViewPort, LookAt, ViewAngle, Identity, Scale, Translate, Pitch, Yaw
IMPORT Roll, Skew, TransForm, Clip3D
;PROCEDURE ViewPort (r: Rect);
;PROCEDURE LookAt (left,top,right,bottom: Fixed);
;PROCEDURE ViewAngle (angle: Fixed);
;PROCEDURE Identity;
;PROCEDURE Scale (xFactor,yFactor,zFactor: Fixed);
;PROCEDURE Translate (dx,dy,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,src2: Point3D; VAR dst1,dst2: POINT): BOOLEAN;
IMPORT SetPt3D, SetPt2D
;PROCEDURE SetPt3D (VAR pt3D: Point3D; x,y,z: fixed);
;PROCEDURE SetPt2D (VAR pt2D: Point2D; x,y: fixed);
ENDIF ; ...already included