home *** CD-ROM | disk | FTP | other *** search
/ Apple Developer Connection 1998 Fall: Game Toolkit / Disc.iso / SDKs / QuickTime Mac / PInterfaces / ATSLayoutTypes.p next >
Encoding:
Text File  |  1998-04-09  |  3.9 KB  |  131 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        ATSLayoutTypes.p
  3.  
  4.      Contains:    Apple Text Services layout public structures and constants.
  5.  
  6.      Version:    Technology:    Allegro
  7.                  Release:    QuickTime 3.0
  8.  
  9.      Copyright:    © 1994-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT ATSLayoutTypes;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __ATSLAYOUTTYPES__}
  28. {$SETC __ATSLAYOUTTYPES__ := 1}
  29.  
  30. {$I+}
  31. {$SETC ATSLayoutTypesIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __MACTYPES__}
  35. {$I MacTypes.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __SFNTTYPES__}
  38. {$I SFNTTypes.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __SFNTLAYOUTTYPES__}
  41. {$I SFNTLayoutTypes.p}
  42. {$ENDC}
  43.  
  44.  
  45. {$PUSH}
  46. {$ALIGN MAC68K}
  47. {$LibExport+}
  48.  
  49. { ----------------------------------------------------------------------------------------- }
  50. { CONSTANTS }
  51. { LineOptions flags }
  52.  
  53. CONST
  54.     kATSLineNoLayoutOptions        = $00000000;
  55.     kATSLineIsDisplayOnly        = $00000001;
  56.     kATSLineHasNoHangers        = $00000002;
  57.     kATSLineHasNoOpticalAlignment = $00000004;
  58.     kATSLineKeepSpacesInMargin    = $00000008;
  59.     kATSLineTwoLevelReordering    = $00000010;
  60.     kATSLineLeftEdgeNotMargin    = $00000020;
  61.     kATSLineRightEdgeNotMargin    = $00000040;
  62.     kATSLineDoReordering        = $00000080;
  63.     kATSLineNoJustPostComp        = $00000100;
  64.  
  65. { Run controls flags (in the style rec) }
  66.     kATSRunNoLigatureSplits        = $80000000;
  67.     kATSRunNoCaretAngle            = $40000000;
  68.     kATSRunImposeWidth            = $20000000;
  69.     kATSRunNoCrossKerning        = $10000000;
  70.     kATSRunNoOpticalAlignment    = $08000000;
  71.     kATSRunForceHanging            = $04000000;
  72.     kATSRunNoSpecialJustification = $02000000;
  73.     kATSRunIsVertical            = $01000000;
  74.     kATSRunDirectionOverrideMask = $00000003;
  75.  
  76. { Direction overrides }
  77.     kATSNoDirectionOverride        = 0;
  78.     kATSImposeLeftToRight        = 1;
  79.     kATSImposeRightToLeft        = 2;
  80.  
  81. { Miscellaneous constants }
  82.     kATSNoTracking                = $80000000;                    {  negativeInfinity  }
  83.     kATSDeletedGlyphcode        = $FFFF;
  84.     kATSSelectToEnd                = $FFFFFFFF;
  85.     kATSOffsetToNoData            = $FFFFFFFF;
  86.  
  87. { --------------------------------------------------------------------------- }
  88. { TYPES }
  89. { --------------------------------------------------------------------------- }
  90.  
  91. TYPE
  92.     ATSLineLayoutOptions                = UInt32;
  93. {
  94.     The JustWidthDeltaEntryOverride structure specifies values for the grow and shrink case during
  95.     justification, both on the left and on the right. It also contains flags.  This particular structure
  96.     is used for passing justification overrides to LLC.
  97. }
  98.     ATSJustWidthDeltaEntryOverridePtr = ^ATSJustWidthDeltaEntryOverride;
  99.     ATSJustWidthDeltaEntryOverride = RECORD
  100.         beforeGrowLimit:        Fixed;                                    {  ems AW can grow by at most on LT  }
  101.         beforeShrinkLimit:        Fixed;                                    {  ems AW can shrink by at most on LT  }
  102.         afterGrowLimit:            Fixed;                                    {  ems AW can grow by at most on RB  }
  103.         afterShrinkLimit:        Fixed;                                    {  ems AW can shrink by at most on RB  }
  104.         growFlags:                JustificationFlags;                        {  flags controlling grow case  }
  105.         shrinkFlags:            JustificationFlags;                        {  flags controlling shrink case  }
  106.     END;
  107.  
  108. { The JustPriorityOverrides type is an array of 4 width delta records, one per priority level override. }
  109.     ATSJustPriorityWidthDeltaOverrides    = ARRAY [0..3] OF ATSJustWidthDeltaEntryOverride;
  110. {
  111.     The JustGlyphWidthDeltaOverride structure specifies justification override information for a
  112.     single specified glyph.
  113. }
  114.     ATSJustGlyphWidthDeltaOverridePtr = ^ATSJustGlyphWidthDeltaOverride;
  115.     ATSJustGlyphWidthDeltaOverride = RECORD
  116.         glyph:                    UInt16;
  117.         override:                ATSJustWidthDeltaEntryOverride;
  118.     END;
  119.  
  120. { --------------------------------------------------------------------------- }
  121. {$ALIGN RESET}
  122. {$POP}
  123.  
  124. {$SETC UsingIncludes := ATSLayoutTypesIncludes}
  125.  
  126. {$ENDC} {__ATSLAYOUTTYPES__}
  127.  
  128. {$IFC NOT UsingIncludes}
  129.  END.
  130. {$ENDC}
  131.