mac-rom/Interfaces/CIncludes/QuickdrawText.h
Elliot Nunn 4325cdcc78 Bring in CubeE sources
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included.

The Tools directory, containing mostly junk, is also excluded.
2017-12-26 09:52:23 +08:00

176 lines
5.9 KiB
C

/*
File: QuickdrawText.h
Contains: C Interface to the Macintosh Libraries
Written by: Don Louv
Copyright: © 1983-1992 by Apple Computer, Inc., all rights reserved.
Change History (most recent first):
<4> 8/4/92 DCL Changed the textLen parameter to textLength in the prototypes
for PortionText, VisibleLength, PixelToChar & CharToPixel.
<3> 6/11/92 DCL Cleanup minor formatting to match Interface Stacks. Happy Happy
Joy Joy.
<2> 5/29/92 DCL Moved StdText from QuickDraw to QuickDrawText and fixed up some
comments.
<1> 5/5/92 DCL first checked in
*/
#ifndef __QUICKDRAWTEXT__
#define __QUICKDRAWTEXT__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __INTLRESOURCES__
#include <IntlResources.h>
#endif
enum{
/* CharToPixel directions */
leftCaret = 0, /*Place caret for left block*/
rightCaret = -1, /*Place caret for right block*/
hilite = 1, /*Direction is SysDirection*/
smLeftCaret = 0, /*Place caret for left block obsolete */
smRightCaret = -1, /*Place caret for right block obsolete */
smHilite = 1, /*Direction is TESysJust obsolete */
/*Constants for styleRunPosition argument in PortionLine, DrawJustified,
MeasureJustified, CharToPixel, and PixelToChar.*/
onlyStyleRun = 0, /* This is the only style run on the line */
leftStyleRun = 1, /* This is leftmost of multiple style runs on the line */
rightStyleRun = 2, /* This is rightmost of multiple style runs on the line */
middleStyleRun = 3, /* There are multiple style runs on the line and this
is neither the leftmost nor the rightmost. */
smOnlyStyleRun = 0, /* obsolete */
smLeftStyleRun = 1, /* obsolete */
smRightStyleRun = 2, /* obsolete */
smMiddleStyleRun = 3 /* obsolete */
};
/* type for styleRunPosition parameter in PixelToChar etc. */
typedef short JustStyleCode;
struct FontInfo {
short ascent;
short descent;
short widMax;
short leading;
};
typedef struct FontInfo FontInfo;
typedef short FormatOrder[1];
typedef FormatOrder *FormatOrderPtr;
typedef short FormatStatus;
#ifdef __cplusplus
extern "C" {
#endif
pascal short Pixel2Char(Ptr textBuf,short textLen,short slop,short pixelWidth,
Boolean *leadingEdge)
= {0x2F3C,0x820E,0x0014,0xA8B5};
pascal short Char2Pixel(Ptr textBuf,short textLen,short slop,short offset,
short direction)
= {0x2F3C,0x820C,0x0016,0xA8B5};
pascal short PixelToChar(Ptr textBuf,long textLength,Fixed slop,Fixed pixelWidth,
Boolean *leadingEdge,Fixed *widthRemaining,JustStyleCode styleRunPosition,
Point numer,Point denom)
= {0x2F3C,0x8222,0x002E,0xA8B5};
pascal short NPixel2Char(Ptr textBuf,long textLen,Fixed slop,Fixed pixelWidth,
Boolean *leadingEdge,Fixed *widthRemaining,JustStyleCode styleRunPosition,
Point numer,Point denom)
= {0x2F3C,0x8222,0x002E,0xA8B5};
pascal short CharToPixel(Ptr textBuf,long textLength,Fixed slop,long offset,
short direction,JustStyleCode styleRunPosition,Point numer,Point denom)
= {0x2F3C,0x821C,0x0030,0xA8B5};
pascal short NChar2Pixel(Ptr textBuf,long textLen,Fixed slop,long offset,
short direction,JustStyleCode styleRunPosition,Point numer,Point denom)
= {0x2F3C,0x821C,0x0030,0xA8B5};
pascal void DrawJustified(Ptr textPtr,long textLength,Fixed slop,JustStyleCode styleRunPosition,
Point numer,Point denom)
= {0x2F3C,0x8016,0x0032,0xA8B5};
pascal void NDrawJust(Ptr textPtr,long textLength,Fixed slop,JustStyleCode styleRunPosition,
Point numer,Point denom)
= {0x2F3C,0x8016,0x0032,0xA8B5};
pascal void MeasureJustified(Ptr textPtr,long textLength,Fixed slop,Ptr charLocs,
JustStyleCode styleRunPosition,Point numer,Point denom)
= {0x2F3C,0x801A,0x0034,0xA8B5};
pascal void NMeasureJust(Ptr textPtr,long textLength,Fixed slop,Ptr charLocs,
JustStyleCode styleRunPosition,Point numer,Point denom)
= {0x2F3C,0x801A,0x0034,0xA8B5};
pascal Fixed PortionLine(Ptr textPtr,long textLen,JustStyleCode styleRunPosition,
Point numer,Point denom)
= {0x2F3C,0x8412,0x0036,0xA8B5};
pascal Fixed NPortionText(Ptr textPtr,long textLen,JustStyleCode styleRunPosition,
Point numer,Point denom)
= {0x2F3C,0x8412,0x0036,0xA8B5};
pascal void HiliteText(Ptr textPtr,short textLength,short firstOffset,short secondOffset,
OffsetTable offsets)
= {0x2F3C,0x800E,0x001C,0xA8B5};
pascal void DrawJust(Ptr textPtr,short textLength,short slop)
= {0x2F3C,0x8008,0x001E,0xA8B5};
pascal void MeasureJust(Ptr textPtr,short textLength,short slop,Ptr charLocs)
= {0x2F3C,0x800C,0x0020,0xA8B5};
pascal Fixed PortionText(Ptr textPtr,long textLength)
= {0x2F3C,0x8408,0x0024,0xA8B5};
pascal long VisibleLength(Ptr textPtr,long textLength)
= {0x2F3C,0x8408,0x0028,0xA8B5};
pascal void GetFormatOrder(FormatOrderPtr ordering,short firstFormat,short lastFormat,
Boolean lineRight,Ptr rlDirProc,Ptr dirParam)
= {0x2F3C,0x8012,0xFFFC,0xA8B5};
pascal void TextFont(short font)
= 0xA887;
pascal void TextFace(short face)
= 0xA888;
pascal void TextMode(short mode)
= 0xA889;
pascal void TextSize(short size)
= 0xA88A;
pascal void SpaceExtra(Fixed extra)
= 0xA88E;
pascal void DrawChar(short ch)
= 0xA883;
pascal void DrawString(ConstStr255Param s)
= 0xA884;
pascal void DrawText(const void *textBuf,short firstByte,short byteCount)
= 0xA885;
pascal short CharWidth(short ch)
= 0xA88D;
pascal short StringWidth(ConstStr255Param s)
= 0xA88C;
pascal short TextWidth(const void *textBuf,short firstByte,short byteCount)
= 0xA886;
pascal void MeasureText(short count,const void *textAddr,void *charLocs)
= 0xA837;
pascal void GetFontInfo(FontInfo *info)
= 0xA88B;
pascal void CharExtra(Fixed extra)
= 0xAA23;
pascal void StdText(short count,const void *textAddr,Point numer,Point denom)
= 0xA882;
void stdtext(short count,const void *textAddr,Point *numer,Point *denom);
pascal short StdTxMeas(short byteCount,const void *textAddr,Point *numer,
Point *denom,FontInfo *info)
= 0xA8ED;
#ifdef __cplusplus
}
#endif
#endif