Legacy Documentclose button

Important: The information in this document is obsolete and should not be used for new development.

Previous Book Contents Book Index Next

Inside Macintosh: Imaging With QuickDraw /
Appendix B - Using Picture Comments for Printing


Including Constants and Data Types for Picture Comments

For the picture comments described in this appendix, neither QuickDraw nor the Printing Manager includes constant definitions or data type declarations; instead, you must include these in your own build files. Listed here are the constants and data types for picture comments that have been predefined for printer drivers from Apple Computer, Inc.

{PicComments.p}
CONST
   {values for picture comments}
   TextBegin         = 150;
   TextEnd           = 151;
   StringBegin       = 152;
   StringEnd         = 153;
   TextCenter        = 154;
   LineLayoutOff     = 155;
   LineLayoutOn      = 156;
   ClientLineLayout  = 157;   {considered to be of limited usefulness}
   PolyBegin         = 160;
   PolyEnd           = 161;
   PolyIgnore        = 163;
   PolySmooth        = 164;
   PolyClose         = 165;
   DashedLine        = 180;
   DashedStop        = 181;
   SetLineWidth      = 182;
   PostScriptBegin   = 190;
   PostScriptEnd     = 191;
   PostScriptHandle  = 192;
   PostScriptFile    = 193;   {considered to be of limited usefulness}
   TextIsPostScript  = 194;   {considered to be of limited usefulness}
   ResourcePS        = 195;   {considered to be of limited usefulness}
   PSBeginNoSave     = 196;   {dangerous to use with LaserWriter 8.0}
   SetGrayLevel      = 197;   {this comment now obsolete}
   RotateBegin       = 200;
   RotateEnd         = 201;
   RotateCenter      = 202;
   {values for the tJus field of the TTxtPicRec record}
   tJusNone          = 0;
   tJusLeft          = 1;
   tJusCenter        = 2;
   tJusRight         = 3;
   tJusFull          = 4;
   {values for the tFlip field of the TTxtPicRec record}
   tFlipNone         = 0;         
   tFlipHorizontal   = 1;
   tFlipVertical     = 2;

TYPE
   TTxtPicHdl = ^TTxtPicPtr;
   TTxtPicPtr = ^TTxtPicRec;
   TTxtPicRec = PACKED RECORD
      tJus:          Byte;       {justification for line layout of text}
      tFlip:         Byte;       {horizontal or vertical flipping}
      tAngle:        Integer;    {0..360 degrees clockwise rotation }
                                 { in integer format}
      tLine:         Byte;       {reserved}
      tCmnt:         Byte;       {reserved}
      tAngleFixed:   Byte;       {0..360 degrees clockwise rotation in }
                                 { fixed-number format}
   END;

   TRotationHdl = ^TRotationPtr;
   TRotationPtr = ^TRotationRec;
   TRotationRec = RECORD
      rFlip:         Integer;    {horizontal/vertical flipping}
      rAngle:        Integer;    {0..360 degrees clockwise rotation }
                                 { in integer format}
      rAngleFixed:   Fixed;      {0..360 degrees clockwise rotation in }
                                 { fixed-number format}
   END;

   TCenterHdl = ^TCenterPtr;
   TCenterPtr = ^TCenterRec;
   TCenterRec = RECORD
      y:    Fixed;   {vertical offset from current pen location}
      x:    Fixed;   {horizontal offset from current pen location}
   END;

   TPolyVerbHdl = ^TPolyVerbPtr;
   TPolyVerbPtr = ^TPolyVerbRec;



   TPolyVerbRec = PACKED RECORD
      f7, f6, f5, f4, f3:  Boolean; {reserved; set to 0}
      fPolyClose:          Boolean; {TRUE is same as PolyClose }
                                    { picture comment}
      fPolyFill:           Boolean; {TRUE means fill polygon}
      fPolyFrame:          Boolean; {TRUE means frame polygon}
   END;

   TDashedLineHdl = ^TDashedLinePtr;
   TDashedLinePtr = ^TDashedLineRec;
   TDashedLineRec = PACKED RECORD
      offset:     SignedByte;    {offset into pattern for first dash}
      centered:   SignedByte;    {reserved; set to 0}
      intervals:  ARRAY[0..5] OF SignedByte;
                                 {points for drawing and not drawing dashes}

   TLineWidthHdl = ^TLineWidthPtr;
   TLineWidthPtr = ^TLineWidth;
   TLineWidth = Point;  {v = numerator, h = denominator}
   END;


Previous Book Contents Book Index Next

© Apple Computer, Inc.
7 JUL 1996