Mac OS 9
GXTypes.h
Go to the documentation of this file.
1 
19 #ifndef __GXTYPES__
20 #define __GXTYPES__
21 
22 #ifndef __MACTYPES__
23 #include <MacTypes.h>
24 #endif
25 
26 #ifndef __MIXEDMODE__
27 #include <MixedMode.h>
28 #endif
29 
30 #ifndef __FIXMATH__
31 #include <FixMath.h>
32 #endif
33 
34 #ifndef __GXMATH__
35 #include <GXMath.h>
36 #endif
37 
38 #if PRAGMA_ONCE
39 #pragma once
40 #endif
41 
42 #ifdef __cplusplus
43 extern "C"
44 {
45 #endif
46 
47 #if PRAGMA_IMPORT
48 #pragma import on
49 #endif
50 
51 #if PRAGMA_STRUCT_ALIGN
52 #pragma options align = mac68k
53 #elif PRAGMA_STRUCT_PACKPUSH
54 #pragma pack(push, 2)
55 #elif PRAGMA_STRUCT_PACK
56 #pragma pack(2)
57 #endif
58 
59  typedef struct OpaquegxShape *gxShape;
60  typedef struct OpaquegxStyle *gxStyle;
61  typedef struct OpaquegxInk *gxInk;
62  typedef struct OpaquegxTransform *gxTransform;
63  typedef struct OpaquegxTag *gxTag;
64  typedef struct OpaquegxColorSet *gxColorSet;
65  typedef struct OpaquegxColorProfile *gxColorProfile;
66  typedef struct OpaquegxGraphicsClient *gxGraphicsClient;
67  typedef struct OpaquegxViewGroup *gxViewGroup;
68  typedef struct OpaquegxViewPort *gxViewPort;
69  typedef struct OpaquegxViewDevice *gxViewDevice;
70 
71  typedef long gxColorSpace;
73  enum
74  {
75  gxEmptyType = 1,
76  gxPointType = 2,
77  gxLineType = 3,
78  gxCurveType = 4,
79  gxRectangleType = 5,
80  gxPolygonType = 6,
81  gxPathType = 7,
82  gxBitmapType = 8,
83  gxTextType = 9,
84  gxGlyphType = 10,
85  gxLayoutType = 11,
86  gxFullType = 12,
87  gxPictureType = 13
88  };
89 
90  typedef long gxShapeType;
91  enum
92  {
93  gxNoFill = 0,
94  gxOpenFrameFill = 1,
95  gxFrameFill = gxOpenFrameFill,
96  gxClosedFrameFill = 2,
97  gxHollowFill = gxClosedFrameFill,
98  gxEvenOddFill = 3,
99  gxSolidFill = gxEvenOddFill,
100  gxWindingFill = 4,
101  gxInverseEvenOddFill = 5,
102  gxInverseSolidFill = gxInverseEvenOddFill,
103  gxInverseFill = gxInverseEvenOddFill,
104  gxInverseWindingFill = 6
105  };
106 
107  typedef long gxShapeFill;
108  enum
109  {
110  gxNoAttributes = 0,
111  gxDirectShape = 0x0001,
112  gxRemoteShape = 0x0002,
113  gxCachedShape = 0x0004,
114  gxLockedShape = 0x0008,
115  gxGroupShape = 0x0010,
116  gxMapTransformShape = 0x0020,
117  gxUniqueItemsShape = 0x0040,
118  gxIgnorePlatformShape = 0x0080,
119  gxNoMetricsGridShape = 0x0100,
120  gxDiskShape = 0x0200,
121  gxMemoryShape = 0x0400
122  };
123 
124  typedef long gxShapeAttribute;
126  enum
127  {
128  gxBreakNeitherEdit = 0,
129  gxBreakLeftEdit = 0x0001,
130  gxBreakRightEdit = 0x0002,
131  gxRemoveDuplicatePointsEdit = 0x0004
132  };
133 
136  typedef long gxEditShapeFlag;
137  enum
138  {
139  gxSelectToEnd = -1
140  };
141 
142 #define gxSetToNil (void *)(-1)
143 #define gxAnyNumber 1
144  enum
145  {
146  gxCounterclockwiseDirection = 0,
147  gxClockwiseDirection = 1
148  };
149 
150  typedef long gxContourDirection;
153  struct gxLine
154  {
155  gxPoint first;
156  gxPoint last;
157  };
158  typedef struct gxLine gxLine;
159  struct gxCurve
160  {
161  gxPoint first;
162  gxPoint control;
163  gxPoint last;
164  };
165  typedef struct gxCurve gxCurve;
166  struct gxRectangle
167  {
168  Fixed left;
169  Fixed top;
170  Fixed right;
171  Fixed bottom;
172  };
173  typedef struct gxRectangle gxRectangle;
174  struct gxPolygon
175  {
176  long vectors;
177  gxPoint vector[1];
178  };
179  typedef struct gxPolygon gxPolygon;
180  struct gxPolygons
181  {
182  long contours;
183  gxPolygon contour[1];
184  };
185  typedef struct gxPolygons gxPolygons;
186  struct gxPath
187  {
188  long vectors;
189  long controlBits[1];
190  gxPoint vector[1];
191  };
192  typedef struct gxPath gxPath;
193  struct gxPaths
194  {
195  long contours;
196  gxPath contour[1];
197  };
198  typedef struct gxPaths gxPaths;
199  struct gxBitmap
200  {
201  char *image;
202  long width;
203  long height;
204  long rowBytes;
205  long pixelSize;
206  gxColorSpace space;
207  gxColorSet set;
208  gxColorProfile profile;
209  };
210  typedef struct gxBitmap gxBitmap;
212  {
213  long left;
214  long top;
215  long right;
216  long bottom;
217  };
218  typedef struct gxLongRectangle gxLongRectangle;
220  enum
221  {
222  gxCenterFrameStyle = 0,
223  gxSourceGridStyle = 0x0001,
224  gxDeviceGridStyle = 0x0002,
225  gxInsideFrameStyle = 0x0004,
226  gxOutsideFrameStyle = 0x0008,
227  gxAutoInsetStyle = 0x0010
228  };
229 
230  typedef long gxStyleAttribute;
231  enum
232  {
233  gxBendDash = 0x0001,
234  gxBreakDash = 0x0002,
235  gxClipDash = 0x0004,
236  gxLevelDash = 0x0008,
237  gxAutoAdvanceDash = 0x0010
238  };
239 
240  typedef long gxDashAttribute;
241  enum
242  {
243  gxPortAlignPattern = 0x0001,
244  gxPortMapPattern = 0x0002
245  };
246 
247  typedef long gxPatternAttribute;
248  enum
249  {
250  gxSharpJoin = 0x0000,
251  gxCurveJoin = 0x0001,
252  gxLevelJoin = 0x0002,
253  gxSnapJoin = 0x0004
254  };
255 
256  typedef long gxJoinAttribute;
257  enum
258  {
259  gxLevelStartCap = 0x0001,
260  gxLevelEndCap = 0x0002
261  };
262 
263  typedef long gxCapAttribute;
264  enum
265  {
266  gxAutoAdvanceText = 0x0001,
267  gxNoContourGridText = 0x0002,
268  gxNoMetricsGridText = 0x0004,
269  gxAnchorPointsText = 0x0008,
270  gxVerticalText = 0x0010,
271  gxNoOpticalScaleText = 0x0020
272  };
273 
274  typedef long gxTextAttribute;
275  enum
276  {
277  gxLeftJustify = 0,
278  gxCenterJustify = fract1 / 2,
279  gxRightJustify = fract1,
280  gxFillJustify = -1
281  };
282 
283  enum
284  {
285  gxUnderlineAdvanceLayer =
286  0x0001,
288  0x0002,
292  0x0008,
293  gxWhiteLayer = 0x0010,
294  gxClipLayer = 0x0020,
295  gxStringLayer = 0x0040
296  };
297 
298  typedef long gxLayerFlag;
300  struct gxFaceLayer
301  {
302  gxShapeFill outlineFill;
303  gxLayerFlag flags;
304  gxStyle outlineStyle;
305  gxTransform outlineTransform;
307  };
308  typedef struct gxFaceLayer gxFaceLayer;
309  struct gxTextFace
310  {
311  long faceLayers;
314  };
315  typedef struct gxTextFace gxTextFace;
317  {
318  gxJoinAttribute attributes;
319  gxShape join;
320  Fixed miter;
321  };
322  typedef struct gxJoinRecord gxJoinRecord;
324  {
325  gxDashAttribute attributes;
326  gxShape dash;
328  Fract phase;
330  };
331  typedef struct gxDashRecord gxDashRecord;
333  {
334  gxPatternAttribute attributes;
335  gxShape pattern;
336  gxPoint u;
337  gxPoint v;
338  };
339  typedef struct gxPatternRecord gxPatternRecord;
340  struct gxCapRecord
341  {
342  gxCapAttribute attributes;
343  gxShape startCap;
344  gxShape endCap;
345  };
346  typedef struct gxCapRecord gxCapRecord;
347 
349  enum
350  {
351  gxPortAlignDitherInk = 0x0001,
352  gxForceDitherInk = 0x0002,
353  gxSuppressDitherInk = 0x0004,
354  gxSuppressHalftoneInk = 0x0008
355  };
356 
357  typedef long gxInkAttribute;
358  enum
359  {
360  gxNoMode = 0,
361  gxCopyMode = 1,
362  gxAddMode = 2,
363  gxBlendMode = 3,
364  gxMigrateMode = 4,
365  gxMinimumMode = 5,
366  gxMaximumMode = 6,
367  gxHighlightMode = 7,
368  gxAndMode = 8,
369  gxOrMode = 9,
370  gxXorMode = 10,
371  gxRampAndMode = 11,
372  gxRampOrMode = 12,
373  gxRampXorMode = 13,
374  gxOverMode = 14,
375  gxAtopMode = 15,
377  gxFadeMode = 17
378  };
379 
380  typedef unsigned char gxComponentMode;
381  enum
382  {
383  gxRejectSourceTransfer =
384  0x0001,
386  0x0002,
387  gxSingleComponentTransfer = 0x0004
389  };
390 
391  typedef long gxTransferFlag;
392  enum
393  {
394  gxOverResultComponent =
395  0x01,
396  gxReverseComponent = 0x02
397  };
398 
399  typedef unsigned char gxComponentFlag;
402  {
403  gxComponentMode mode;
404  gxComponentFlag flags;
405  gxColorValue sourceMinimum;
406  gxColorValue sourceMaximum;
407  gxColorValue deviceMinimum;
408  gxColorValue deviceMaximum;
409  gxColorValue clampMinimum;
410  gxColorValue clampMaximum;
411  gxColorValue
413  };
416  {
417  gxColorSpace
418  space;
419  gxColorSet set;
420  gxColorProfile profile;
421  Fixed sourceMatrix[5][4];
422  Fixed deviceMatrix[5][4];
423  Fixed resultMatrix[5][4];
424  gxTransferFlag flags;
425  gxTransferComponent component[4];
426  };
427  typedef struct gxTransferMode gxTransferMode;
428 
430  enum
431  {
432  gxNoColorPacking = 0x0000,
433  gxAlphaSpace = 0x0080,
438  0x1000
439  };
440 
441  enum
442  {
443  gxNoSpace = 0,
444  gxRGBSpace = 1,
445  gxCMYKSpace = 2,
446  gxHSVSpace = 3,
447  gxHLSSpace = 4,
448  gxYXYSpace = 5,
449  gxXYZSpace = 6,
450  gxLUVSpace = 7,
451  gxLABSpace = 8,
452  gxYIQSpace = 9,
453  gxNTSCSpace = gxYIQSpace,
454  gxPALSpace = gxYIQSpace,
455  gxGraySpace = 10,
456  gxIndexedSpace = 11,
457  gxRGBASpace = gxRGBSpace + gxAlphaSpace,
458  gxGrayASpace = gxGraySpace + gxAlphaSpace,
459  gxRGB16Space = gxWord5ColorPacking + gxRGBSpace,
460  gxRGB32Space = gxLong8ColorPacking + gxRGBSpace,
461  gxARGB32Space = gxLong8ColorPacking + gxAlphaFirstPacking + gxRGBASpace,
462  gxCMYK32Space = gxLong8ColorPacking + gxCMYKSpace,
463  gxHSV32Space = gxLong10ColorPacking + gxHSVSpace,
464  gxHLS32Space = gxLong10ColorPacking + gxHLSSpace,
465  gxYXY32Space = gxLong10ColorPacking + gxYXYSpace,
466  gxXYZ32Space = gxLong10ColorPacking + gxXYZSpace,
467  gxLUV32Space = gxLong10ColorPacking + gxLUVSpace,
468  gxLAB32Space = gxLong10ColorPacking + gxLABSpace,
469  gxYIQ32Space = gxLong10ColorPacking + gxYIQSpace,
470  gxNTSC32Space = gxYIQ32Space,
471  gxPAL32Space = gxYIQ32Space
472  };
473 
475  struct gxRGBColor
476  {
477  gxColorValue red;
478  gxColorValue green;
479  gxColorValue blue;
480  };
481  typedef struct gxRGBColor gxRGBColor;
482  struct gxRGBAColor
483  {
484  gxColorValue red;
485  gxColorValue green;
486  gxColorValue blue;
487  gxColorValue alpha;
488  };
489  typedef struct gxRGBAColor gxRGBAColor;
490  struct gxHSVColor
491  {
492  gxColorValue hue;
493  gxColorValue saturation;
494  gxColorValue value;
495  };
496  typedef struct gxHSVColor gxHSVColor;
497  struct gxHLSColor
498  {
499  gxColorValue hue;
500  gxColorValue lightness;
501  gxColorValue saturation;
502  };
503  typedef struct gxHLSColor gxHLSColor;
504  struct gxCMYKColor
505  {
506  gxColorValue cyan;
507  gxColorValue magenta;
508  gxColorValue yellow;
509  gxColorValue black;
510  };
511  typedef struct gxCMYKColor gxCMYKColor;
512  struct gxXYZColor
513  {
514  gxColorValue x;
515  gxColorValue y;
516  gxColorValue z;
517  };
518  typedef struct gxXYZColor gxXYZColor;
519  struct gxYXYColor
520  {
521  gxColorValue capY;
522  gxColorValue x;
523  gxColorValue y;
524  };
525  typedef struct gxYXYColor gxYXYColor;
526  struct gxLUVColor
527  {
528  gxColorValue l;
529  gxColorValue u;
530  gxColorValue v;
531  };
532  typedef struct gxLUVColor gxLUVColor;
533  struct gxLABColor
534  {
535  gxColorValue l;
536  gxColorValue a;
537  gxColorValue b;
538  };
539  typedef struct gxLABColor gxLABColor;
540  struct gxYIQColor
541  {
542  gxColorValue y;
543  gxColorValue i;
544  gxColorValue q;
545  };
546  typedef struct gxYIQColor gxYIQColor;
548  {
549  gxColorValue gray;
550  gxColorValue alpha;
551  };
552  typedef struct gxGrayAColor gxGrayAColor;
553 
554  typedef long gxColorIndex;
556  {
557  gxColorIndex index;
558  gxColorSet set;
559  };
560  typedef struct gxIndexedColor gxIndexedColor;
561  struct gxColor
562  {
563  gxColorSpace space;
564  gxColorProfile profile;
565  union
566  {
567  gxCMYKColor cmyk;
568  gxRGBColor rgb;
569  gxRGBAColor rgba;
570  gxHSVColor hsv;
571  gxHLSColor hls;
572  gxXYZColor xyz;
573  gxYXYColor yxy;
574  gxLUVColor luv;
575  gxLABColor lab;
576  gxYIQColor yiq;
577  gxColorValue gray;
578  gxGrayAColor graya;
579  unsigned short pixel16;
580  unsigned long pixel32;
581  gxIndexedColor indexed;
582  gxColorValue component[4];
583  } element;
584  };
585  typedef struct gxColor gxColor;
586 
589  {
590  gxCMYKColor cmyk;
591  gxRGBColor rgb;
592  gxRGBAColor rgba;
593  gxHSVColor hsv;
594  gxHLSColor hls;
595  gxXYZColor xyz;
596  gxYXYColor yxy;
597  gxLUVColor luv;
598  gxLABColor lab;
599  gxYIQColor yiq;
600  gxColorValue gray;
601  gxGrayAColor graya;
602  unsigned short pixel16;
603  unsigned long pixel32;
604  gxColorValue component[4];
605  };
606  typedef union gxSetColor gxSetColor;
609  enum
610  {
611  gxNoPart = 0,
612  gxBoundsPart = 0x0001,
613  gxGeometryPart = 0x0002,
614  gxPenPart = 0x0004,
615  gxCornerPointPart = 0x0008,
616  gxControlPointPart = 0x0010,
617  gxEdgePart = 0x0020,
618  gxJoinPart = 0x0040,
619  gxStartCapPart = 0x0080,
620  gxEndCapPart = 0x0100,
621  gxDashPart = 0x0200,
622  gxPatternPart = 0x0400,
623  gxGlyphBoundsPart = gxJoinPart,
624  gxGlyphFirstPart = gxStartCapPart,
625  gxGlyphLastPart = gxEndCapPart,
626  gxSideBearingPart = gxDashPart,
627  gxAnyPart = gxBoundsPart | gxGeometryPart | gxPenPart | gxCornerPointPart |
628  gxControlPointPart | gxEdgePart | gxJoinPart | gxStartCapPart |
629  gxEndCapPart | gxDashPart | gxPatternPart
630  };
631 
632  typedef long gxShapePart;
635  {
636  gxShapePart what;
637  long index;
641  gxShape which;
642  gxShape containerPicture;
644  long totalIndex;
645  };
646  typedef struct gxHitTestInfo gxHitTestInfo;
648  enum
649  {
650  gxGrayPort = 0x0001,
651  gxAlwaysGridPort = 0x0002,
652  gxEnableMatchPort = 0x0004
653  };
654 
655  typedef long gxPortAttribute;
657  enum
658  {
659  gxDirectDevice = 0x01,
661  gxInactiveDevice = 0x04
662  };
663 
664  typedef long gxDeviceAttribute;
665  enum
666  {
667  gxRoundDot = 1,
668  gxSpiralDot = 2,
669  gxSquareDot = 3,
670  gxLineDot = 4,
671  gxEllipticDot = 5,
672  gxTriangleDot = 6,
673  gxDispersedDot = 7,
674  gxCustomDot = 8
675  };
676 
677  typedef long gxDotType;
679  enum
680  {
681  gxNoTint = 0,
682  gxLuminanceTint = 1,
683  gxAverageTint =
684  2,
688  4,
691  gxComponent4Tint = 7
692  };
693 
694  typedef long gxTintType;
695  struct gxHalftone
696  {
697  Fixed angle;
698  Fixed frequency;
699  gxDotType method;
700  gxTintType tinting;
701  gxColor dotColor;
702  gxColor backgroundColor;
703  gxColorSpace tintSpace;
704  };
705  typedef struct gxHalftone gxHalftone;
707  {
708  Fixed dpiX;
710  long width;
711  long height;
712  long tileShift;
713  unsigned short samples[1];
714  };
715  typedef struct gxHalftoneMatrix gxHalftoneMatrix;
717 #define gxAllViewDevices ((gxViewGroup)0)
718 #define gxScreenViewDevices ((gxViewGroup)1)
720  enum
721  {
722  gxOpenReadSpool = 1,
723  gxOpenWriteSpool = 2,
724  gxReadSpool = 3,
725  gxWriteSpool = 4,
726  gxCloseSpool = 5
727  };
728 
729  typedef long gxSpoolCommand;
730  typedef unsigned char gxGraphicsOpcode;
731  typedef struct gxSpoolBlock gxSpoolBlock;
732  typedef CALLBACK_API_C(long, gxSpoolProcPtr)(gxSpoolCommand command,
734  typedef STACK_UPP_TYPE(gxSpoolProcPtr) gxSpoolUPP;
736  {
737  gxSpoolUPP spoolProcedure;
738  void *buffer;
739  long bufferSize;
742  long count;
747  gxGraphicsOpcode lastTypeOpcode;
748  gxGraphicsOpcode currentOperation;
750  gxGraphicsOpcode
752  unsigned char compressed;
753  };
754 
755 #if CALL_NOT_IN_CARBON
764  gxSpoolUPP
765  NewgxSpoolUPP(gxSpoolProcPtr userRoutine);
766 #if !OPAQUE_UPP_TYPES
767  enum
768  {
769  uppgxSpoolProcInfo = 0x000003F1
770  };
771 #ifdef __cplusplus
772  inline gxSpoolUPP NewgxSpoolUPP(gxSpoolProcPtr userRoutine)
773  {
774  return (gxSpoolUPP)NewRoutineDescriptor(
775  (ProcPtr)(userRoutine), uppgxSpoolProcInfo, GetCurrentArchitecture());
776  }
777 #else
778 #define NewgxSpoolUPP(userRoutine) \
779  (gxSpoolUPP) NewRoutineDescriptor( \
780  (ProcPtr)(userRoutine), uppgxSpoolProcInfo, GetCurrentArchitecture())
781 #endif
782 #endif
783 
792  void
793  DisposegxSpoolUPP(gxSpoolUPP userUPP);
794 #if !OPAQUE_UPP_TYPES
795 #ifdef __cplusplus
796  inline void DisposegxSpoolUPP(gxSpoolUPP userUPP)
797  {
798  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
799  }
800 #else
801 #define DisposegxSpoolUPP(userUPP) DisposeRoutineDescriptor(userUPP)
802 #endif
803 #endif
804 
813  long
814  InvokegxSpoolUPP(gxSpoolCommand command, gxSpoolBlock *block,
815  gxSpoolUPP userUPP);
816 #if !OPAQUE_UPP_TYPES
817 #ifdef __cplusplus
818  inline long InvokegxSpoolUPP(gxSpoolCommand command, gxSpoolBlock *block,
819  gxSpoolUPP userUPP)
820  {
821  return (long)CALL_TWO_PARAMETER_UPP(userUPP, uppgxSpoolProcInfo, command,
822  block);
823  }
824 #else
825 #define InvokegxSpoolUPP(command, block, userUPP) \
826  (long)CALL_TWO_PARAMETER_UPP((userUPP), uppgxSpoolProcInfo, (command), \
827  (block))
828 #endif
829 #endif
830 
831 #endif
833 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
835 #define NewgxSpoolProc(userRoutine) NewgxSpoolUPP(userRoutine)
836 #define CallgxSpoolProc(userRoutine, command, block) \
837  InvokegxSpoolUPP(command, block, userRoutine)
838 #endif
840  enum
841  {
842  gxFontListFlatten = 0x01,
848  gxBitmapAliasFlatten = 0x08
850  };
851 
852  typedef long gxFlattenFlag;
854 #define gxGraphicsSystemClient (gxGraphicsClient)(-1)
855  enum
856  {
857  gxStaticHeapClient = 0x0001
858  };
859 
860  typedef long gxClientAttribute;
862  enum
863  {
864  gxOriginalGraphicsFunction = -1,
865  gxOriginalGraphicsIdentifier = FOUR_CHAR_CODE('grfx')
866  };
867 
869  {
870  unsigned long fileOffset;
871  unsigned long aliasRecordSize;
872  unsigned char aliasRecord[1];
873  };
875  enum
876  {
877  gxBitmapFileAliasTagType = FOUR_CHAR_CODE('bfil'),
878  gxPICTFileAliasTagType = FOUR_CHAR_CODE('pict'),
879  gxBitmapFileAliasImageValue = 1L
880  };
881 
882  typedef struct OpaquegxFont *gxFont;
883  enum
884  {
885  gxNoPlatform = 0,
886  gxNoScript = 0,
887  gxNoLanguage = 0,
888  gxNoFontName = 0,
889  gxGlyphPlatform = -1
890  };
891 
892  enum
893  {
894  gxUnicodePlatform = 1,
895  gxMacintoshPlatform = 2,
896  gxReservedPlatform = 3,
897  gxMicrosoftPlatform = 4,
898  gxCustomPlatform = 5
899  };
900 
901  typedef long gxFontPlatform;
902  enum
903  {
904  gxUnicodeDefaultSemantics = 1,
905  gxUnicodeV1_1Semantics = 2,
906  gxISO10646_1993Semantics = 3
907  };
908 
909  enum
910  {
911  gxRomanScript = 1,
912  gxJapaneseScript = 2,
913  gxTraditionalChineseScript = 3,
914  gxChineseScript = gxTraditionalChineseScript,
915  gxKoreanScript = 4,
916  gxArabicScript = 5,
917  gxHebrewScript = 6,
918  gxGreekScript = 7,
919  gxCyrillicScript = 8,
920  gxRussian = gxCyrillicScript,
921  gxRSymbolScript = 9,
922  gxDevanagariScript = 10,
923  gxGurmukhiScript = 11,
924  gxGujaratiScript = 12,
925  gxOriyaScript = 13,
926  gxBengaliScript = 14,
927  gxTamilScript = 15,
928  gxTeluguScript = 16,
929  gxKannadaScript = 17,
930  gxMalayalamScript = 18,
931  gxSinhaleseScript = 19,
932  gxBurmeseScript = 20,
933  gxKhmerScript = 21,
934  gxThaiScript = 22,
935  gxLaotianScript = 23,
936  gxGeorgianScript = 24,
937  gxArmenianScript = 25,
938  gxSimpleChineseScript = 26,
939  gxTibetanScript = 27,
940  gxMongolianScript = 28,
941  gxGeezScript = 29,
942  gxEthiopicScript = gxGeezScript,
943  gxAmharicScript = gxGeezScript,
944  gxSlavicScript = 30,
945  gxEastEuropeanRomanScript = gxSlavicScript,
946  gxVietnameseScript = 31,
947  gxExtendedArabicScript = 32,
948  gxSindhiScript = gxExtendedArabicScript,
949  gxUninterpretedScript = 33
950  };
951 
952  enum
953  {
954  gxMicrosoftSymbolScript = 1,
955  gxMicrosoftStandardScript = 2
956  };
957 
958  enum
959  {
960  gxCustom8BitScript = 1,
961  gxCustom816BitScript = 2,
962  gxCustom16BitScript = 3
963  };
964 
965  typedef long gxFontScript;
966  enum
967  {
968  gxEnglishLanguage = 1,
969  gxFrenchLanguage = 2,
970  gxGermanLanguage = 3,
971  gxItalianLanguage = 4,
972  gxDutchLanguage = 5,
973  gxSwedishLanguage = 6,
974  gxSpanishLanguage = 7,
975  gxDanishLanguage = 8,
976  gxPortugueseLanguage = 9,
977  gxNorwegianLanguage = 10,
978  gxHebrewLanguage = 11,
979  gxJapaneseLanguage = 12,
980  gxArabicLanguage = 13,
981  gxFinnishLanguage = 14,
982  gxGreekLanguage = 15,
983  gxIcelandicLanguage = 16,
984  gxMalteseLanguage = 17,
985  gxTurkishLanguage = 18,
986  gxCroatianLanguage = 19,
987  gxTradChineseLanguage = 20,
988  gxUrduLanguage = 21,
989  gxHindiLanguage = 22,
990  gxThaiLanguage = 23,
991  gxKoreanLanguage = 24,
992  gxLithuanianLanguage = 25,
993  gxPolishLanguage = 26,
994  gxHungarianLanguage = 27,
995  gxEstonianLanguage = 28,
996  gxLettishLanguage = 29,
997  gxLatvianLanguage = gxLettishLanguage,
998  gxSaamiskLanguage = 30,
999  gxLappishLanguage = gxSaamiskLanguage,
1000  gxFaeroeseLanguage = 31,
1001  gxFarsiLanguage = 32,
1002  gxPersianLanguage = gxFarsiLanguage,
1003  gxRussianLanguage = 33,
1004  gxSimpChineseLanguage = 34,
1005  gxFlemishLanguage = 35,
1006  gxIrishLanguage = 36,
1007  gxAlbanianLanguage = 37,
1008  gxRomanianLanguage = 38,
1009  gxCzechLanguage = 39,
1010  gxSlovakLanguage = 40,
1011  gxSlovenianLanguage = 41,
1012  gxYiddishLanguage = 42,
1013  gxSerbianLanguage = 43,
1014  gxMacedonianLanguage = 44,
1015  gxBulgarianLanguage = 45,
1016  gxUkrainianLanguage = 46,
1017  gxByelorussianLanguage = 47,
1018  gxUzbekLanguage = 48,
1019  gxKazakhLanguage = 49,
1020  gxAzerbaijaniLanguage = 50,
1021  gxAzerbaijanArLanguage = 51,
1022  gxArmenianLanguage = 52,
1023  gxGeorgianLanguage = 53,
1024  gxMoldavianLanguage = 54,
1025  gxKirghizLanguage = 55,
1026  gxTajikiLanguage = 56,
1027  gxTurkmenLanguage = 57,
1028  gxMongolianLanguage = 58,
1029  gxMongolianCyrLanguage = 59,
1030  gxPashtoLanguage = 60,
1031  gxKurdishLanguage = 61,
1032  gxKashmiriLanguage = 62,
1033  gxSindhiLanguage = 63,
1034  gxTibetanLanguage = 64,
1035  gxNepaliLanguage = 65,
1036  gxSanskritLanguage = 66,
1037  gxMarathiLanguage = 67,
1038  gxBengaliLanguage = 68,
1039  gxAssameseLanguage = 69,
1040  gxGujaratiLanguage = 70,
1041  gxPunjabiLanguage = 71,
1042  gxOriyaLanguage = 72,
1043  gxMalayalamLanguage = 73,
1044  gxKannadaLanguage = 74,
1045  gxTamilLanguage = 75,
1046  gxTeluguLanguage = 76,
1047  gxSinhaleseLanguage = 77,
1048  gxBurmeseLanguage = 78,
1049  gxKhmerLanguage = 79,
1050  gxLaoLanguage = 80,
1051  gxVietnameseLanguage = 81,
1052  gxIndonesianLanguage = 82,
1053  gxTagalogLanguage = 83,
1054  gxMalayRomanLanguage = 84,
1055  gxMalayArabicLanguage = 85,
1056  gxAmharicLanguage = 86,
1057  gxTigrinyaLanguage = 87,
1058  gxGallaLanguage = 88,
1059  gxOromoLanguage = gxGallaLanguage,
1060  gxSomaliLanguage = 89,
1061  gxSwahiliLanguage = 90,
1062  gxRuandaLanguage = 91,
1063  gxRundiLanguage = 92,
1064  gxChewaLanguage = 93,
1065  gxMalagasyLanguage = 94,
1066  gxEsperantoLanguage = 95,
1067  gxWelshLanguage = 129,
1068  gxBasqueLanguage = 130,
1069  gxCatalanLanguage = 131,
1070  gxLatinLanguage = 132,
1071  gxQuechuaLanguage = 133,
1072  gxGuaraniLanguage = 134,
1073  gxAymaraLanguage = 135,
1074  gxTatarLanguage = 136,
1075  gxUighurLanguage = 137,
1076  gxDzongkhaLanguage = 138,
1077  gxJavaneseRomLanguage = 139,
1078  gxSundaneseRomLanguage = 140
1079  };
1080 
1081  typedef long gxFontLanguage;
1082  enum
1083  {
1084  gxCopyrightFontName = 1,
1085  gxFamilyFontName = 2,
1086  gxStyleFontName = 3,
1087  gxUniqueFontName = 4,
1088  gxFullFontName = 5,
1089  gxVersionFontName = 6,
1090  gxPostscriptFontName = 7,
1091  gxTrademarkFontName = 8,
1092  gxManufacturerFontName = 9,
1093  gxLastReservedFontName = 256
1094  };
1095 
1096  typedef long gxFontName;
1097  typedef long gxFontTableTag;
1098  typedef long gxFontVariationTag;
1099  typedef long gxFontFormatTag;
1100  typedef long gxFontStorageTag;
1101  typedef gxFontVariationTag gxFontDescriptorTag;
1103  {
1104  gxFontVariationTag name;
1105  Fixed value;
1106  };
1107  typedef struct gxFontVariation gxFontVariation;
1110  {
1111  unsigned short setting;
1112  unsigned short nameID;
1113  };
1115  enum
1116  {
1117  gxSystemFontAttribute = 0x0001,
1118  gxReadOnlyFontAttribute = 0x0002
1119  };
1120 
1121  typedef long gxFontAttribute;
1122  enum
1123  {
1124  gxMutuallyExclusiveFeature = 0x00008000
1125  };
1126 
1127  typedef long gxFontFeatureFlag;
1128  typedef long gxFontFeature;
1129  enum
1130  {
1131  gxResourceFontStorage = FOUR_CHAR_CODE('rsrc'),
1132  gxHandleFontStorage = FOUR_CHAR_CODE('hndl'),
1133  gxFileFontStorage = FOUR_CHAR_CODE('bass'),
1134  gxNfntFontStorage = FOUR_CHAR_CODE('nfnt')
1135  };
1136 
1137  typedef void *gxFontStorageReference;
1138  typedef unsigned short gxGlyphcode;
1141  typedef long gxByteOffset;
1144  typedef unsigned short gxRunFeatureType;
1145  typedef unsigned short gxRunFeatureSelector;
1149  enum
1150  {
1151  gxNoTracking = gxNegativeInfinity
1152  };
1153 
1157  enum
1158  {
1159  gxNoStake = -1
1160  };
1161 
1165  enum
1166  {
1167  gxRomanBaseline = 0,
1168  gxIdeographicCenterBaseline = 1,
1169  gxIdeographicLowBaseline = 2,
1170  gxHangingBaseline = 3,
1171  gxMathBaseline = 4,
1172  gxLastBaseline = 31,
1173  gxNumberOfBaselineTypes = gxLastBaseline + 1,
1174  gxNoOverrideBaseline = 255
1175  };
1176 
1177  typedef unsigned long gxBaselineType;
1178  typedef Fixed gxBaselineDeltas[32];
1181  enum
1182  {
1183  gxKashidaPriority = 0,
1184  gxWhiteSpacePriority = 1,
1185  gxInterCharPriority = 2,
1186  gxNullJustificationPriority = 3,
1187  gxNumberOfJustificationPriorities = 4
1188  };
1189 
1190  typedef unsigned char gxJustificationPriority;
1195  enum
1196  {
1197  gxOverridePriority = 0x8000,
1198  gxOverrideLimits = 0x4000,
1203  (gxOverridePriority | gxOverrideLimits | gxOverrideUnlimited |
1205  };
1206 
1207  typedef unsigned short gxJustificationFlags;
1210  enum
1211  {
1212  gxNoDirectionOverride = 0,
1213  gxImposeLeftToRight = 1,
1214  gxImposeRightToLeft = 2,
1215  gxImposeArabic = 3
1216  };
1217 
1218  typedef unsigned short gxDirectionOverride;
1221  enum
1222  {
1223  gxNoCaretAngle = 0x40000000,
1224  gxImposeWidth = 0x20000000,
1225  gxNoCrossKerning = 0x10000000,
1226  gxNoOpticalAlignment = 0x08000000,
1227  gxForceHanging = 0x04000000,
1228  gxNoSpecialJustification = 0x02000000,
1229  gxDirectionOverrideMask = 0x00000003,
1230  gxNoLigatureSplits = (long)0x80000000
1231  };
1232 
1233  enum
1234  {
1235  gxAllRunControlFlags =
1236  (gxNoLigatureSplits | gxNoCaretAngle | gxImposeWidth | gxNoCrossKerning |
1237  gxNoOpticalAlignment | gxForceHanging | gxNoSpecialJustification |
1238  gxDirectionOverrideMask)
1239  };
1240 
1241  typedef unsigned long gxRunControlFlags;
1245  enum
1246  {
1247  gxHighlightStraight = 0,
1249  };
1250 
1251  typedef unsigned long gxHighlightType;
1255  enum
1256  {
1257  gxSplitCaretType = 0,
1260  };
1261 
1262  typedef unsigned long gxCaretType;
1267  enum
1268  {
1269  gxOffset8_8 = 0,
1270  gxOffset8_16 = 1,
1271  gxOffset16_8 = 2,
1272  gxOffset16_16 = 3,
1273  gxOffsetInvalid = 4
1274  };
1275 
1276  enum
1277  {
1278  gxOffsetInsideLigature = 0x8000
1279  };
1280 
1281  typedef unsigned short gxLayoutOffsetState;
1285  enum
1286  {
1287  gxNoLayoutOptions = 0,
1288  gxLineIsDisplayOnly = 0x00000001,
1289  gxKeepSpacesInMargin = 0x00000002,
1290  gxLimitReorderingToTwoLevels = 0x00000004,
1291  gxLineLeftEdgeNotAtMargin = 0x00000008,
1292  gxLineRightEdgeNotAtMargin = 0x00000010,
1293  gxAllLayoutOptionsFlags = gxLineIsDisplayOnly | gxKeepSpacesInMargin |
1294  gxLimitReorderingToTwoLevels |
1295  gxLineLeftEdgeNotAtMargin |
1296  gxLineRightEdgeNotAtMargin,
1297  gxMaxRunLevel = 15,
1298  gxFlushLeft = 0,
1299  gxFlushCenter = fract1 / 2,
1300  gxFlushRight = fract1,
1301  gxNoJustification = 0,
1302  gxFullJustification = fract1
1303  };
1304 
1305  typedef unsigned long gxLayoutOptionsFlags;
1308  {
1309  gxRunFeatureType featureType;
1310  gxRunFeatureSelector featureSelector;
1311  };
1312  typedef struct gxRunFeature gxRunFeature;
1316  {
1317  Fixed beforeGrowLimit;
1321  gxJustificationFlags growFlags;
1322  gxJustificationFlags shrinkFlags;
1323  };
1324  typedef struct gxWidthDeltaRecord gxWidthDeltaRecord;
1328  {
1329  gxWidthDeltaRecord deltas[4];
1330  };
1336  {
1337  gxGlyphcode glyph;
1338  gxWidthDeltaRecord override;
1339  };
1341 
1346  {
1347  gxRunControlFlags flags;
1348  Fixed beforeWithStreamShift;
1349  Fixed afterWithStreamShift;
1350  Fixed crossStreamShift;
1351  Fixed imposedWidth;
1352  Fixed track;
1353  Fract hangingInhibitFactor;
1354  Fract kerningInhibitFactor;
1355  Fixed decompositionAdjustmentFactor;
1356  gxBaselineType baselineType;
1357  };
1358  typedef struct gxRunControls gxRunControls;
1362  {
1363  gxGlyphcode originalGlyph;
1364  gxGlyphcode substituteGlyph;
1365  };
1372  {
1373  Fract scaleFactor;
1374  Fixed adjustmentPointSizeFactor;
1375  };
1380  {
1381  gxGlyphcode firstGlyph;
1382  gxGlyphcode secondGlyph;
1383  gxKerningAdjustmentFactors withStreamFactors;
1384  gxKerningAdjustmentFactors crossStreamFactors;
1385  };
1390  enum
1391  {
1392  gxResetCrossStreamFactor = gxNegativeInfinity
1393  };
1394 
1397  {
1398  Fixed firstPartialDist;
1399  Fixed lastPartialDist;
1400  gxByteOffset hitSideOffset;
1401  gxByteOffset nonHitSideOffset;
1402  Boolean leadingEdge;
1403  Boolean inLoose;
1404  };
1405  typedef struct gxLayoutHitInfo gxLayoutHitInfo;
1410  {
1411  gxBaselineDeltas deltas;
1412  };
1417  {
1418  Fixed width;
1419  Fract flush;
1420  Fract just;
1421  gxLayoutOptionsFlags flags;
1422  gxLineBaselineRecord *baselineRec;
1423  };
1424  typedef struct gxLayoutOptions gxLayoutOptions;
1425  enum
1426  {
1427  gxNewObjectOpcode = 0x00,
1431  gxNextOpcode =
1432  0xFF
1433  };
1434 
1436  enum
1437  {
1438  gxHeaderTypeOpcode =
1439  0x00,
1442  gxInkTypeOpcode = 0x29,
1443  gxTransformTypeOpcode = 0x2A,
1444  gxColorProfileTypeOpcode = 0x2B,
1445  gxColorSetTypeOpcode = 0x2C,
1446  gxTagTypeOpcode = 0x2D,
1447  gxBitImageOpcode = 0x2E,
1448  gxFontNameTypeOpcode = 0x2F,
1449  gxTrailerTypeOpcode = 0x3F
1450  };
1451 
1453  enum
1454  {
1455  gxShapeAttributesOpcode = 0,
1456  gxShapeTagOpcode = 1,
1457  gxShapeFillOpcode = 2
1458  };
1459 
1460  enum
1461  {
1462  gxOmitPathPositionXMask = 0xC0,
1463  gxOmitPathPositionYMask = 0x30,
1464  gxOmitPathDeltaXMask = 0x0C,
1465  gxOmitPathDeltaYMask = 0x03
1466  };
1467 
1468  enum
1469  {
1470  gxOmitPathPositionXShift = 6,
1471  gxOmitPathPositionYShift = 4,
1472  gxOmitPathDeltaXShift = 2,
1473  gxOmitPathDeltaYShift = 0
1474  };
1475 
1476  enum
1477  {
1478  gxOmitBitmapImageMask = 0xC0,
1479  gxOmitBitmapWidthMask = 0x30,
1480  gxOmitBitmapHeightMask = 0x0C,
1481  gxOmitBitmapRowBytesMask = 0x03
1482  };
1483 
1484  enum
1485  {
1486  gxOmitBitmapImageShift = 6,
1487  gxOmitBitmapWidthShift = 4,
1488  gxOmitBitmapHeightShift = 2,
1489  gxOmitBitmapRowBytesShift = 0
1490  };
1491 
1492  enum
1493  {
1494  gxOmitBitmapPixelSizeMask = 0xC0,
1495  gxOmitBitmapSpaceMask = 0x30,
1496  gxOmitBitmapSetMask = 0x0C,
1497  gxOmitBitmapProfileMask = 0x03
1498  };
1499 
1500  enum
1501  {
1502  gxOmitBitmapPixelSizeShift = 6,
1503  gxOmitBitmapSpaceShift = 4,
1504  gxOmitBitmapSetShift = 2,
1505  gxOmitBitmapProfileShift = 0
1506  };
1507 
1508  enum
1509  {
1510  gxOmitBitmapPositionXMask = 0xC0,
1511  gxOmitBitmapPositionYMask = 0x30
1512  };
1513 
1514  enum
1515  {
1516  gxOmitBitmapPositionXShift = 6,
1517  gxOmitBitmapPositionYShift = 4
1518  };
1519 
1520  enum
1521  {
1522  gxOmitBitImageRowBytesMask = 0xC0,
1523  gxOmitBitImageHeightMask = 0x30,
1524  gxOmitBitImageDataMask = 0x08
1525  };
1526 
1527  enum
1528  {
1529  gxOmitBitImageRowBytesShift = 6,
1530  gxOmitBitImageHeightShift = 4,
1531  gxOmitBitImageDataShift = 3
1532  };
1533 
1534  enum
1535  {
1536  gxCopyBitImageBytesOpcode = 0x00,
1537  gxRepeatBitImageBytesOpcode = 0x40,
1538  gxLookupBitImageBytesOpcode = 0x80,
1539  gxRepeatBitImageScanOpcode = 0xC0
1540  };
1541 
1542  enum
1543  {
1544  gxOmitTextCharactersMask = 0xC0,
1545  gxOmitTextPositionXMask = 0x30,
1546  gxOmitTextPositionYMask = 0x0C,
1547  gxOmitTextDataMask = 0x02
1548  };
1549 
1550  enum
1551  {
1552  gxOmitTextCharactersShift = 6,
1553  gxOmitTextPositionXShift = 4,
1554  gxOmitTextPositionYShift = 2,
1555  gxOmitTextDataShift = 1
1556  };
1557 
1558  enum
1559  {
1560  gxOmitGlyphCharactersMask = 0xC0,
1561  gxOmitGlyphLengthMask = 0x30,
1562  gxOmitGlyphRunNumberMask = 0x0C,
1563  gxOmitGlyphOnePositionMask = 0x02,
1564  gxOmitGlyphDataMask = 0x01
1565  };
1566 
1567  enum
1568  {
1569  gxOmitGlyphCharactersShift = 6,
1570  gxOmitGlyphLengthShift = 4,
1571  gxOmitGlyphRunNumberShift = 2,
1572  gxOmitGlyphOnePositionShift = 1,
1573  gxOmitGlyphDataShift = 0
1574  };
1575 
1576  enum
1577  {
1578  gxOmitGlyphPositionsMask = 0xC0,
1579  gxOmitGlyphAdvancesMask = 0x20,
1580  gxOmitGlyphTangentsMask = 0x18,
1581  gxOmitGlyphRunsMask = 0x04,
1582  gxOmitGlyphStylesMask = 0x03
1583  };
1584 
1585  enum
1586  {
1587  gxOmitGlyphPositionsShift = 6,
1588  gxOmitGlyphAdvancesShift = 5,
1589  gxOmitGlyphTangentsShift = 3,
1590  gxOmitGlyphRunsShift = 2,
1591  gxOmitGlyphStylesShift = 0
1592  };
1593 
1594  enum
1595  {
1596  gxOmitLayoutLengthMask = 0xC0,
1597  gxOmitLayoutPositionXMask = 0x30,
1598  gxOmitLayoutPositionYMask = 0x0C,
1599  gxOmitLayoutDataMask = 0x02
1600  };
1601 
1602  enum
1603  {
1604  gxOmitLayoutLengthShift = 6,
1605  gxOmitLayoutPositionXShift = 4,
1606  gxOmitLayoutPositionYShift = 2,
1607  gxOmitLayoutDataShift = 1
1608  };
1609 
1610  enum
1611  {
1612  gxOmitLayoutWidthMask = 0xC0,
1613  gxOmitLayoutFlushMask = 0x30,
1614  gxOmitLayoutJustMask = 0x0C,
1615  gxOmitLayoutOptionsMask = 0x03
1616  };
1617 
1618  enum
1619  {
1620  gxOmitLayoutWidthShift = 6,
1621  gxOmitLayoutFlushShift = 4,
1622  gxOmitLayoutJustShift = 2,
1623  gxOmitLayoutOptionsShift = 0
1624  };
1625 
1626  enum
1627  {
1628  gxOmitLayoutStyleRunNumberMask = 0xC0,
1629  gxOmitLayoutLevelRunNumberMask = 0x30,
1630  gxOmitLayoutHasBaselineMask = 0x08,
1631  gxOmitLayoutStyleRunsMask = 0x04,
1632  gxOmitLayoutStylesMask = 0x03
1633  };
1634 
1635  enum
1636  {
1637  gxOmitLayoutStyleRunNumberShift = 6,
1638  gxOmitLayoutLevelRunNumberShift = 4,
1639  gxOmitLayoutHasBaselineShift = 3,
1640  gxOmitLayoutStyleRunsShift = 2,
1641  gxOmitLayoutStylesShift = 0
1642  };
1643 
1644  enum
1645  {
1646  gxOmitLayoutLevelRunsMask = 0x80,
1647  gxOmitLayoutLevelsMask = 0x40
1648  };
1649 
1650  enum
1651  {
1652  gxOmitLayoutLevelRunsShift = 7,
1653  gxOmitLayoutLevelsShift = 6
1654  };
1655 
1656  enum
1657  {
1658  gxInkAttributesOpcode = 0,
1659  gxInkTagOpcode = 1,
1660  gxInkColorOpcode = 2,
1661  gxInkTransferModeOpcode = 3
1662  };
1663 
1664  enum
1665  {
1666  gxOmitColorsSpaceMask = 0xC0,
1667  gxOmitColorsProfileMask = 0x30,
1668  gxOmitColorsComponentsMask = 0x0F,
1669  gxOmitColorsIndexMask = 0x0C,
1670  gxOmitColorsIndexSetMask = 0x03
1671  };
1672 
1673  enum
1674  {
1675  gxOmitColorsSpaceShift = 6,
1676  gxOmitColorsProfileShift = 4,
1677  gxOmitColorsComponentsShift = 0,
1678  gxOmitColorsIndexShift = 2,
1679  gxOmitColorsIndexSetShift = 0
1680  };
1681 
1682  enum
1683  {
1684  gxOmitTransferSpaceMask = 0xC0,
1685  gxOmitTransferSetMask = 0x30,
1686  gxOmitTransferProfileMask = 0x0C
1687  };
1688 
1689  enum
1690  {
1691  gxOmitTransferSpaceShift = 6,
1692  gxOmitTransferSetShift = 4,
1693  gxOmitTransferProfileShift = 2
1694  };
1695 
1696  enum
1697  {
1698  gxOmitTransferSourceMatrixMask = 0xC0,
1699  gxOmitTransferDeviceMatrixMask = 0x30,
1700  gxOmitTransferResultMatrixMask = 0x0C,
1701  gxOmitTransferFlagsMask = 0x03
1702  };
1703 
1704  enum
1705  {
1706  gxOmitTransferSourceMatrixShift = 6,
1707  gxOmitTransferDeviceMatrixShift = 4,
1708  gxOmitTransferResultMatrixShift = 2,
1709  gxOmitTransferFlagsShift = 0
1710  };
1711 
1712  enum
1713  {
1714  gxOmitTransferComponentModeMask = 0x80,
1715  gxOmitTransferComponentFlagsMask = 0x40,
1716  gxOmitTransferComponentSourceMinimumMask = 0x30,
1717  gxOmitTransferComponentSourceMaximumMask = 0x0C,
1718  gxOmitTransferComponentDeviceMinimumMask = 0x03
1719  };
1720 
1721  enum
1722  {
1723  gxOmitTransferComponentModeShift = 7,
1724  gxOmitTransferComponentFlagsShift = 6,
1725  gxOmitTransferComponentSourceMinimumShift = 4,
1726  gxOmitTransferComponentSourceMaximumShift = 2,
1727  gxOmitTransferComponentDeviceMinimumShift = 0
1728  };
1729 
1730  enum
1731  {
1732  gxOmitTransferComponentDeviceMaximumMask = 0xC0,
1733  gxOmitTransferComponentClampMinimumMask = 0x30,
1734  gxOmitTransferComponentClampMaximumMask = 0x0C,
1735  gxOmitTransferComponentOperandMask = 0x03
1736  };
1737 
1738  enum
1739  {
1740  gxOmitTransferComponentDeviceMaximumShift = 6,
1741  gxOmitTransferComponentClampMinimumShift = 4,
1742  gxOmitTransferComponentClampMaximumShift = 2,
1743  gxOmitTransferComponentOperandShift = 0
1744  };
1745 
1746  enum
1747  {
1748  gxStyleAttributesOpcode = 0,
1749  gxStyleTagOpcode = 1,
1750  gxStyleCurveErrorOpcode = 2,
1751  gxStylePenOpcode = 3,
1752  gxStyleJoinOpcode = 4,
1753  gxStyleDashOpcode = 5,
1754  gxStyleCapsOpcode = 6,
1755  gxStylePatternOpcode = 7,
1756  gxStyleTextAttributesOpcode = 8,
1757  gxStyleTextSizeOpcode = 9,
1758  gxStyleFontOpcode = 10,
1759  gxStyleTextFaceOpcode = 11,
1760  gxStylePlatformOpcode = 12,
1761  gxStyleFontVariationsOpcode = 13,
1762  gxStyleRunControlsOpcode = 14,
1763  gxStyleRunPriorityJustOverrideOpcode = 15,
1764  gxStyleRunGlyphJustOverridesOpcode = 16,
1765  gxStyleRunGlyphSubstitutionsOpcode = 17,
1766  gxStyleRunFeaturesOpcode = 18,
1767  gxStyleRunKerningAdjustmentsOpcode = 19,
1768  gxStyleJustificationOpcode = 20
1769  };
1770 
1771  enum
1772  {
1773  gxOmitDashAttributesMask = 0xC0,
1774  gxOmitDashShapeMask = 0x30,
1775  gxOmitDashAdvanceMask = 0x0C,
1776  gxOmitDashPhaseMask = 0x03
1777  };
1778 
1779  enum
1780  {
1781  gxOmitDashAttributesShift = 6,
1782  gxOmitDashShapeShift = 4,
1783  gxOmitDashAdvanceShift = 2,
1784  gxOmitDashPhaseShift = 0
1785  };
1786 
1787  enum
1788  {
1789  gxOmitDashScaleMask = 0xC0
1790  };
1791 
1792  enum
1793  {
1794  gxOmitDashScaleShift = 6
1795  };
1796 
1797  enum
1798  {
1799  gxOmitPatternAttributesMask = 0xC0,
1800  gxOmitPatternShapeMask = 0x30,
1801  gxOmitPatternUXMask = 0x0C,
1802  gxOmitPatternUYMask = 0x03
1803  };
1804 
1805  enum
1806  {
1807  gxOmitPatternAttributesShift = 6,
1808  gxOmitPatternShapeShift = 4,
1809  gxOmitPatternUXShift = 2,
1810  gxOmitPatternUYShift = 0
1811  };
1812 
1813  enum
1814  {
1815  gxOmitPatternVXMask = 0xC0,
1816  gxOmitPatternVYMask = 0x30
1817  };
1818 
1819  enum
1820  {
1821  gxOmitPatternVXShift = 6,
1822  gxOmitPatternVYShift = 4
1823  };
1824 
1825  enum
1826  {
1827  gxOmitJoinAttributesMask = 0xC0,
1828  gxOmitJoinShapeMask = 0x30,
1829  gxOmitJoinMiterMask = 0x0C
1830  };
1831 
1832  enum
1833  {
1834  gxOmitJoinAttributesShift = 6,
1835  gxOmitJoinShapeShift = 4,
1836  gxOmitJoinMiterShift = 2
1837  };
1838 
1839  enum
1840  {
1841  gxOmitCapAttributesMask = 0xC0,
1842  gxOmitCapStartShapeMask = 0x30,
1843  gxOmitCapEndShapeMask = 0x0C
1844  };
1845 
1846  enum
1847  {
1848  gxOmitCapAttributesShift = 6,
1849  gxOmitCapStartShapeShift = 4,
1850  gxOmitCapEndShapeShift = 2
1851  };
1852 
1853  enum
1854  {
1855  gxOmitFaceLayersMask = 0xC0,
1856  gxOmitFaceMappingMask = 0x30
1857  };
1858 
1859  enum
1860  {
1861  gxOmitFaceLayersShift = 6,
1862  gxOmitFaceMappingShift = 4
1863  };
1864 
1865  enum
1866  {
1867  gxOmitFaceLayerFillMask = 0xC0,
1868  gxOmitFaceLayerFlagsMask = 0x30,
1869  gxOmitFaceLayerStyleMask = 0x0C,
1870  gxOmitFaceLayerTransformMask = 0x03
1871  };
1872 
1873  enum
1874  {
1875  gxOmitFaceLayerFillShift = 6,
1876  gxOmitFaceLayerFlagsShift = 4,
1877  gxOmitFaceLayerStyleShift = 2,
1878  gxOmitFaceLayerTransformShift = 0
1879  };
1880 
1881  enum
1882  {
1883  gxOmitFaceLayerBoldXMask = 0xC0,
1884  gxOmitFaceLayerBoldYMask = 0x30
1885  };
1886 
1887  enum
1888  {
1889  gxOmitFaceLayerBoldXShift = 6,
1890  gxOmitFaceLayerBoldYShift = 4
1891  };
1892 
1893  enum
1894  {
1895  gxColorSetReservedOpcode = 0,
1896  gxColorSetTagOpcode = 1
1897  };
1898 
1899  enum
1900  {
1901  gxColorProfileReservedOpcode = 0,
1902  gxColorProfileTagOpcode = 1
1903  };
1904 
1905  enum
1906  {
1907  gxTransformReservedOpcode = 0,
1908  gxTransformTagOpcode = 1,
1909  gxTransformClipOpcode = 2,
1910  gxTransformMappingOpcode = 3,
1911  gxTransformPartMaskOpcode = 4,
1912  gxTransformToleranceOpcode = 5
1913  };
1914 
1915  enum
1916  {
1917  gxTypeOpcode = 0,
1918  gxSizeOpcode = 1
1919  };
1920 
1934  enum
1935  {
1936  gxOpcodeShift = 6,
1937  gxObjectSizeMask = 0x3F,
1938  gxCompressionShift = 6,
1939  gxObjectTypeMask = 0x3F,
1940  gxBitImageOpcodeMask = 0xC0,
1941  gxBitImageCountMask = 0x3F,
1942  gxBitImageOpcodeShift = 6
1943  };
1944 
1945  enum
1946  {
1947  gxNoCompression = 0,
1948  gxWordCompression = 1,
1949  gxByteCompression = 2,
1950  gxOmitCompression = 3,
1951  gxCompressionMask = 0x03
1952  };
1953 
1957  {
1958  unsigned char name;
1959  unsigned char platform;
1960  unsigned char script;
1961  unsigned char language;
1962  short length;
1963  };
1964  typedef struct gxFlatFontName gxFlatFontName;
1965  enum
1966  {
1967  gxFlatFontListItemTag = FOUR_CHAR_CODE('flst')
1968  };
1969 
1971  {
1972  gxFont fontID; /**** if we get rid of this, remove #include "font types.h",
1973  above */
1974  unsigned char name;
1975  unsigned char platform;
1976  unsigned char script;
1977  unsigned char language;
1978  short length;
1979  unsigned short
1981  unsigned short axisCount;
1983  unsigned short variationCount;
1985  };
1986  typedef struct gxFlatFontListItem gxFlatFontListItem;
1988  {
1989  long count;
1990  gxFlatFontListItem items[1];
1991  };
1992  typedef struct gxFlatFontList gxFlatFontList;
1994  {
1995  Fixed version;
1996  unsigned char flatFlags;
1997  SInt8 padding;
1998  };
1999  typedef struct gxFlattenHeader gxFlattenHeader;
2000  enum
2001  {
2002  gxOmitPictureShapeMask = 0xC0,
2003  gxOmitOverrideStyleMask = 0x30,
2004  gxOmitOverrideInkMask = 0x0C,
2005  gxOmitOverrideTransformMask = 0x03
2006  };
2007 
2008  enum
2009  {
2010  gxOmitPictureShapeShift = 0x06,
2011  gxOmitOverrideStyleShift = 0x04,
2012  gxOmitOverrideInkShift = 0x02,
2013  gxOmitOverrideTransformShift = 0x00
2014  };
2015 
2016  enum
2017  {
2018  gxPostScriptTag = FOUR_CHAR_CODE('post'),
2019  gxPostControlTag = FOUR_CHAR_CODE('psct')
2020  };
2021 
2022  enum
2023  {
2024  gxNoSave = 1,
2025  gxPSContinueNext = 2
2027  };
2028 
2030  {
2031  long flags;
2032  };
2033  typedef struct gxPostControl gxPostControl;
2034  enum
2035  {
2036  gxDashSynonymTag = FOUR_CHAR_CODE('sdsh')
2037  };
2038 
2040  {
2041  long size;
2043  };
2044  typedef struct gxDashSynonym gxDashSynonym;
2045  enum
2046  {
2047  gxLineCapSynonymTag = FOUR_CHAR_CODE('lcap')
2048  };
2049 
2050  enum
2051  {
2052  gxButtCap = 0,
2053  gxRoundCap = 1,
2054  gxSquareCap = 2,
2055  gxTriangleCap = 3
2056  };
2057 
2060  typedef long gxLineCapSynonym;
2061  enum
2062  {
2063  gxCubicSynonymTag = FOUR_CHAR_CODE('cubx')
2064  };
2065 
2066  enum
2067  {
2068  gxIgnoreFlag = 0x0000,
2069  gxLineToFlag = 0x0001,
2070  gxCurveToFlag =
2071  0x0002,
2072  gxMoveToFlag =
2073  0x0003,
2074  gxClosePathFlag = 0x0004
2075  };
2076 
2077  typedef long gxCubicSynonym;
2078  enum
2079  {
2080  gxCubicInstructionMask = 0x000F
2081  };
2082 
2084  typedef short gxCubicSynonymFlags;
2085  enum
2086  {
2087  gxPatternSynonymTag = FOUR_CHAR_CODE('ptrn')
2088  };
2089 
2090  enum
2091  {
2092  gxHatch = 0,
2093  gxCrossHatch = 1
2094  };
2095 
2097  {
2098  long patternType;
2104  };
2105  typedef struct gxPatternSynonym gxPatternSynonym;
2106  enum
2107  {
2108  gxURLTag = FOUR_CHAR_CODE('urlt')
2109  };
2110 
2111 #if PRAGMA_STRUCT_ALIGN
2112 #pragma options align = reset
2113 #elif PRAGMA_STRUCT_PACKPUSH
2114 #pragma pack(pop)
2115 #elif PRAGMA_STRUCT_PACK
2116 #pragma pack()
2117 #endif
2118 
2119 #ifdef PRAGMA_IMPORT_OFF
2120 #pragma import off
2121 #elif PRAGMA_IMPORT
2122 #pragma import reset
2123 #endif
2124 
2125 #ifdef __cplusplus
2126 }
2127 #endif
2128 
2129 #endif
Fixed Math Interfaces.
QuickDraw GX math routine interfaces.
@ gxLong10ColorPacking
Definition: GXTypes.h:436
@ gxWord5ColorPacking
Definition: GXTypes.h:434
@ gxLong8ColorPacking
Definition: GXTypes.h:435
@ gxAlphaFirstPacking
Definition: GXTypes.h:437
@ gxAlphaSpace
Definition: GXTypes.h:433
unsigned short gxRunFeatureType
Definition: GXTypes.h:1144
@ gxStyleTypeOpcode
Definition: GXTypes.h:1441
@ gxPSContinueNext
Definition: GXTypes.h:2025
@ gxNextOpcode
Definition: GXTypes.h:1431
@ gxReservedOpcode
Definition: GXTypes.h:1430
@ gxSetDefaultOpcode
Definition: GXTypes.h:1429
@ gxSetDataOpcode
Definition: GXTypes.h:1428
@ gxComponent1Tint
Definition: GXTypes.h:687
@ gxComponent3Tint
Definition: GXTypes.h:690
@ gxComponent2Tint
Definition: GXTypes.h:689
@ gxMixtureTint
Definition: GXTypes.h:685
@ gxAverageTint
Definition: GXTypes.h:683
long gxByteOffset
Definition: GXTypes.h:1141
@ gxAtopMode
Definition: GXTypes.h:375
@ gxExcludeMode
Definition: GXTypes.h:376
@ gxFontGlyphsFlatten
Definition: GXTypes.h:844
@ gxBitmapAliasFlatten
Definition: GXTypes.h:848
@ gxFontVariationsFlatten
Definition: GXTypes.h:846
@ gxRightLeftKeyboardCaret
Definition: GXTypes.h:1259
@ gxLeftRightKeyboardCaret
Definition: GXTypes.h:1258
@ gxHighlightAverageAngle
Definition: GXTypes.h:1248
@ gxMoveToFlag
Definition: GXTypes.h:2072
@ gxClosePathFlag
Definition: GXTypes.h:2074
@ gxCurveToFlag
Definition: GXTypes.h:2070
@ gxLineToFlag
Definition: GXTypes.h:2069
long gxLineCapSynonym
Definition: GXTypes.h:2060
#define NewgxSpoolUPP(userRoutine)
Definition: GXTypes.h:778
void DisposegxSpoolUPP(gxSpoolUPP userUPP)
short gxCubicSynonymFlags
Definition: GXTypes.h:2084
@ gxRemoteDevice
Definition: GXTypes.h:660
@ gxSingleComponentTransfer
Definition: GXTypes.h:387
@ gxRejectDeviceTransfer
Definition: GXTypes.h:385
@ gxReverseComponent
Definition: GXTypes.h:396
@ gxBoundsPart
Definition: GXTypes.h:612
long InvokegxSpoolUPP(gxSpoolCommand command, gxSpoolBlock *block, gxSpoolUPP userUPP)
long gxEditShapeFlag
Definition: GXTypes.h:136
@ gxOverrideLimits
Definition: GXTypes.h:1198
@ gxAllJustificationFlags
Definition: GXTypes.h:1202
@ gxUnlimitedGapAbsorption
Definition: GXTypes.h:1200
@ gxOverrideUnlimited
Definition: GXTypes.h:1199
@ gxJustificationPriorityMask
Definition: GXTypes.h:1201
@ gxClipLayer
Definition: GXTypes.h:294
@ gxSkipWhiteSpaceLayer
Definition: GXTypes.h:287
@ gxWhiteLayer
Definition: GXTypes.h:293
@ gxUnderlineContinuationLayer
Definition: GXTypes.h:291
@ gxUnderlineIntervalLayer
Definition: GXTypes.h:289
@ gxStringLayer
Definition: GXTypes.h:295
Basic Macintosh data types.
long Fixed
Definition: MacTypes.h:153
unsigned char Boolean
Definition: MacTypes.h:318
Mixed Mode Manager Interfaces.
void DisposeRoutineDescriptor(UniversalProcPtr theUPP)
#define STACK_UPP_TYPE(name)
Definition: MixedMode.h:734
UniversalProcPtr NewRoutineDescriptor(ProcPtr theProc, ProcInfoType theProcInfo, ISAType theISA)
TQAMethodSelector
Definition: RAVE.h:1009
Definition: CMICCProfile.h:821
Definition: RAVE.h:426
Definition: GXTypes.h:869
unsigned long aliasRecordSize
Definition: GXTypes.h:871
unsigned char aliasRecord[1]
Definition: GXTypes.h:872
Definition: GXTypes.h:200
gxColorSpace space
Definition: GXTypes.h:206
long width
Definition: GXTypes.h:202
long height
Definition: GXTypes.h:203
long rowBytes
Definition: GXTypes.h:204
long pixelSize
Definition: GXTypes.h:205
Definition: GXTypes.h:505
Definition: GXTypes.h:341
Definition: GXTypes.h:562
Definition: GXTypes.h:160
Definition: GXTypes.h:324
Fixed advance
Definition: GXTypes.h:327
Fract phase
Definition: GXTypes.h:328
Fixed scale
Definition: GXTypes.h:329
Definition: GXTypes.h:2040
Fixed dashLength[1]
Definition: GXTypes.h:2042
Definition: GXTypes.h:301
gxTransform outlineTransform
Definition: GXTypes.h:305
gxLayerFlag flags
Definition: GXTypes.h:303
gxStyle outlineStyle
Definition: GXTypes.h:304
gxPoint boldOutset
Definition: GXTypes.h:306
Definition: GXTypes.h:1971
unsigned char script
Definition: GXTypes.h:1976
unsigned short variationCount
Definition: GXTypes.h:1983
unsigned short glyphCount
Definition: GXTypes.h:1980
unsigned short axisCount
Definition: GXTypes.h:1981
unsigned char language
Definition: GXTypes.h:1977
unsigned char platform
Definition: GXTypes.h:1975
short length
Definition: GXTypes.h:1978
Definition: GXTypes.h:1988
Definition: GXTypes.h:1957
unsigned char platform
Definition: GXTypes.h:1959
unsigned char language
Definition: GXTypes.h:1961
unsigned char script
Definition: GXTypes.h:1960
short length
Definition: GXTypes.h:1962
Definition: GXTypes.h:1994
Definition: GXTypes.h:1110
Definition: GXTypes.h:1103
Definition: GXTypes.h:1336
Definition: GXTypes.h:1362
gxGlyphcode substituteGlyph
Definition: GXTypes.h:1364
Definition: GXTypes.h:548
Definition: GXTypes.h:498
Definition: GXTypes.h:491
Definition: GXTypes.h:707
Fixed dpiY
Definition: GXTypes.h:709
unsigned short samples[1]
Definition: GXTypes.h:713
long height
Definition: GXTypes.h:711
long tileShift
Definition: GXTypes.h:712
Definition: GXTypes.h:696
Definition: GXTypes.h:635
gxShape which
Definition: GXTypes.h:641
long index
Definition: GXTypes.h:637
long containerIndex
Definition: GXTypes.h:643
long totalIndex
Definition: GXTypes.h:644
Fixed distance
Definition: GXTypes.h:638
Definition: GXTypes.h:556
Definition: GXTypes.h:317
Definition: GXTypes.h:1372
Definition: GXTypes.h:1380
Definition: GXTypes.h:534
Definition: GXTypes.h:527
Definition: GXTypes.h:1397
Definition: GXTypes.h:1417
Definition: GXTypes.h:1410
Definition: GXTypes.h:154
Definition: GXTypes.h:212
Definition: GXMath.h:75
Definition: GXTypes.h:187
Definition: GXTypes.h:194
Definition: GXTypes.h:333
Definition: GXTypes.h:2097
Fixed spacing
Definition: GXTypes.h:2100
Fixed thickness
Definition: GXTypes.h:2101
Fixed angle
Definition: GXTypes.h:2099
gxPoint anchorPoint
Definition: GXTypes.h:2102
Definition: GXMath.h:61
Definition: GXTypes.h:175
Definition: GXTypes.h:181
Definition: GXTypes.h:2030
Definition: GXTypes.h:1328
Definition: GXTypes.h:483
Definition: GXTypes.h:476
Definition: GXTypes.h:167
Definition: GXTypes.h:1346
Definition: GXTypes.h:1308
Definition: GXTypes.h:736
unsigned char compressed
Definition: GXTypes.h:752
gxGraphicsOpcode currentOperand
Definition: GXTypes.h:751
gxGraphicsOpcode currentOperation
Definition: GXTypes.h:748
long bufferSize
Definition: GXTypes.h:739
void * buffer
Definition: GXTypes.h:738
long operationSize
Definition: GXTypes.h:744
long count
Definition: GXTypes.h:742
long operationOffset
Definition: GXTypes.h:745
gxGraphicsOpcode lastTypeOpcode
Definition: GXTypes.h:747
Definition: GXTypes.h:310
gxMapping advanceMapping
Definition: GXTypes.h:312
gxFaceLayer faceLayer[1]
Definition: GXTypes.h:313
Definition: GXTypes.h:402
gxColorValue deviceMinimum
Definition: GXTypes.h:407
gxComponentFlag flags
Definition: GXTypes.h:404
gxColorValue clampMinimum
Definition: GXTypes.h:409
gxColorValue sourceMinimum
Definition: GXTypes.h:405
gxColorValue operand
Definition: GXTypes.h:412
Definition: GXTypes.h:416
gxColorSet set
Definition: GXTypes.h:419
Definition: GXTypes.h:1316
Fixed beforeShrinkLimit
Definition: GXTypes.h:1318
gxJustificationFlags growFlags
Definition: GXTypes.h:1321
Fixed afterGrowLimit
Definition: GXTypes.h:1319
Fixed afterShrinkLimit
Definition: GXTypes.h:1320
gxJustificationFlags shrinkFlags
Definition: GXTypes.h:1322
Definition: GXTypes.h:513
Definition: GXTypes.h:541
Definition: GXTypes.h:520
Definition: GXTypes.h:589