QuickdrawText.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:16k
- /*
- File: QuickdrawText.h
-
- Contains: Quickdraw Text Interfaces.
-
- Version: Technology: Mac OS 8.5
- Release: QuickTime 6.0.2
-
- Copyright: (c) 1983-2001 by Apple Computer, Inc., all rights reserved.
-
- Bugs?: For bug reports, consult the following page on
- the World Wide Web:
-
- http://developer.apple.com/bugreporter/
-
- */
- #ifndef __QUICKDRAWTEXT__
- #define __QUICKDRAWTEXT__
- #ifndef __MACTYPES__
- #include "MacTypes.h"
- #endif
- #ifndef __MIXEDMODE__
- #include "MixedMode.h"
- #endif
- #if PRAGMA_ONCE
- #pragma once
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- #if PRAGMA_IMPORT
- #pragma import on
- #endif
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align=mac68k
- #elif PRAGMA_STRUCT_PACKPUSH
- #pragma pack(push, 2)
- #elif PRAGMA_STRUCT_PACK
- #pragma pack(2)
- #endif
- /* new CGrafPort bottleneck ("newProc2") function, used in Unicode Text drawing */
- EXTERN_API_C( OSStatus )
- StandardGlyphs (void * dataStream,
- ByteCount size);
- enum {
- /* CharToPixel directions */
- leftCaret = 0, /*Place caret for left block*/
- rightCaret = -1, /*Place caret for right block*/
- kHilite = 1 /*Direction is SysDirection*/
- };
- enum {
- smLeftCaret = 0, /*Place caret for left block - obsolete */
- smRightCaret = -1, /*Place caret for right block - obsolete */
- smHilite = 1 /*Direction is TESysJust - obsolete */
- };
- enum {
- /*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;
- /*QuickTime3.0*/
- enum {
- /* Constants for txFlags (which used to be the pad field after txFace) */
- tfAntiAlias = 1 << 0,
- tfUnicode = 1 << 1
- };
- struct FontInfo {
- short ascent;
- short descent;
- short widMax;
- short leading;
- };
- typedef struct FontInfo FontInfo;
- typedef short FormatOrder[1];
- typedef FormatOrder * FormatOrderPtr;
- /* FormatStatus was moved to TextUtils.i */
- struct OffPair {
- short offFirst;
- short offSecond;
- };
- typedef struct OffPair OffPair;
- typedef OffPair OffsetTable[3];
- typedef CALLBACK_API( Boolean , StyleRunDirectionProcPtr )(short styleRunIndex, void *dirParam);
- typedef STACK_UPP_TYPE(StyleRunDirectionProcPtr) StyleRunDirectionUPP;
- #if OPAQUE_UPP_TYPES
- EXTERN_API(StyleRunDirectionUPP)
- NewStyleRunDirectionUPP (StyleRunDirectionProcPtr userRoutine);
- EXTERN_API(void)
- DisposeStyleRunDirectionUPP (StyleRunDirectionUPP userUPP);
- EXTERN_API(Boolean)
- InvokeStyleRunDirectionUPP (short styleRunIndex,
- void * dirParam,
- StyleRunDirectionUPP userUPP);
- #else
- enum { uppStyleRunDirectionProcInfo = 0x00000390 }; /* pascal 1_byte Func(2_bytes, 4_bytes) */
- #define NewStyleRunDirectionUPP(userRoutine) (StyleRunDirectionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStyleRunDirectionProcInfo, GetCurrentArchitecture())
- #define DisposeStyleRunDirectionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
- #define InvokeStyleRunDirectionUPP(styleRunIndex, dirParam, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppStyleRunDirectionProcInfo, (styleRunIndex), (dirParam))
- #endif
- /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
- #define NewStyleRunDirectionProc(userRoutine) NewStyleRunDirectionUPP(userRoutine)
- #define CallStyleRunDirectionProc(userRoutine, styleRunIndex, dirParam) InvokeStyleRunDirectionUPP(styleRunIndex, dirParam, userRoutine)
- #if CALL_NOT_IN_CARBON
- #if CALL_NOT_IN_CARBON
- EXTERN_API( short )
- Pixel2Char (Ptr textBuf,
- short textLen,
- short slop,
- short pixelWidth,
- Boolean * leadingEdge) FOURWORDINLINE(0x2F3C, 0x820E, 0x0014, 0xA8B5);
- EXTERN_API( short )
- Char2Pixel (Ptr textBuf,
- short textLen,
- short slop,
- short offset,
- short direction) FOURWORDINLINE(0x2F3C, 0x820C, 0x0016, 0xA8B5);
- #endif /* CALL_NOT_IN_CARBON */
- #endif /* CALL_NOT_IN_CARBON */
- EXTERN_API( short )
- PixelToChar (Ptr textBuf,
- long textLength,
- Fixed slop,
- Fixed pixelWidth,
- Boolean * leadingEdge,
- Fixed * widthRemaining,
- JustStyleCode styleRunPosition,
- Point numer,
- Point denom) FOURWORDINLINE(0x2F3C, 0x8222, 0x002E, 0xA8B5);
- EXTERN_API( short )
- CharToPixel (Ptr textBuf,
- long textLength,
- Fixed slop,
- long offset,
- short direction,
- JustStyleCode styleRunPosition,
- Point numer,
- Point denom) FOURWORDINLINE(0x2F3C, 0x821C, 0x0030, 0xA8B5);
- EXTERN_API( void )
- DrawJustified (Ptr textPtr,
- long textLength,
- Fixed slop,
- JustStyleCode styleRunPosition,
- Point numer,
- Point denom) FOURWORDINLINE(0x2F3C, 0x8016, 0x0032, 0xA8B5);
- EXTERN_API( void )
- MeasureJustified (Ptr textPtr,
- long textLength,
- Fixed slop,
- Ptr charLocs,
- JustStyleCode styleRunPosition,
- Point numer,
- Point denom) FOURWORDINLINE(0x2F3C, 0x801A, 0x0034, 0xA8B5);
- EXTERN_API( Fixed )
- PortionLine (Ptr textPtr,
- long textLen,
- JustStyleCode styleRunPosition,
- Point numer,
- Point denom) FOURWORDINLINE(0x2F3C, 0x8412, 0x0036, 0xA8B5);
- EXTERN_API( void )
- HiliteText (Ptr textPtr,
- short textLength,
- short firstOffset,
- short secondOffset,
- OffsetTable offsets) FOURWORDINLINE(0x2F3C, 0x800E, 0x001C, 0xA8B5);
- #if CALL_NOT_IN_CARBON
- #if CALL_NOT_IN_CARBON
- EXTERN_API( void )
- DrawJust (Ptr textPtr,
- short textLength,
- short slop) FOURWORDINLINE(0x2F3C, 0x8008, 0x001E, 0xA8B5);
- EXTERN_API( void )
- MeasureJust (Ptr textPtr,
- short textLength,
- short slop,
- Ptr charLocs) FOURWORDINLINE(0x2F3C, 0x800C, 0x0020, 0xA8B5);
- EXTERN_API( Fixed )
- PortionText (Ptr textPtr,
- long textLength) FOURWORDINLINE(0x2F3C, 0x8408, 0x0024, 0xA8B5);
- #endif /* CALL_NOT_IN_CARBON */
- #endif /* CALL_NOT_IN_CARBON */
- EXTERN_API( long )
- VisibleLength (Ptr textPtr,
- long textLength) FOURWORDINLINE(0x2F3C, 0x8408, 0x0028, 0xA8B5);
- EXTERN_API( void )
- GetFormatOrder (FormatOrderPtr ordering,
- short firstFormat,
- short lastFormat,
- Boolean lineRight,
- StyleRunDirectionUPP rlDirProc,
- Ptr dirParam) FOURWORDINLINE(0x2F3C, 0x8012, 0xFFFC, 0xA8B5);
- EXTERN_API( void )
- TextFont (short font) ONEWORDINLINE(0xA887);
- EXTERN_API( void )
- TextFace (StyleParameter face) ONEWORDINLINE(0xA888);
- EXTERN_API( void )
- TextMode (short mode) ONEWORDINLINE(0xA889);
- EXTERN_API( void )
- TextSize (short size) ONEWORDINLINE(0xA88A);
- EXTERN_API( void )
- SpaceExtra (Fixed extra) ONEWORDINLINE(0xA88E);
- EXTERN_API( void )
- DrawChar (CharParameter ch) ONEWORDINLINE(0xA883);
- EXTERN_API( void )
- DrawString (ConstStr255Param s) ONEWORDINLINE(0xA884);
- #if TARGET_OS_MAC
- #define MacDrawText DrawText
- #endif
- EXTERN_API( void )
- MacDrawText (const void * textBuf,
- short firstByte,
- short byteCount) ONEWORDINLINE(0xA885);
- EXTERN_API( short )
- CharWidth (CharParameter ch) ONEWORDINLINE(0xA88D);
- EXTERN_API( short )
- StringWidth (ConstStr255Param s) ONEWORDINLINE(0xA88C);
- EXTERN_API( short )
- TextWidth (const void * textBuf,
- short firstByte,
- short byteCount) ONEWORDINLINE(0xA886);
- EXTERN_API( void )
- MeasureText (short count,
- const void * textAddr,
- void * charLocs) ONEWORDINLINE(0xA837);
- EXTERN_API( void )
- GetFontInfo (FontInfo * info) ONEWORDINLINE(0xA88B);
- EXTERN_API( void )
- CharExtra (Fixed extra) ONEWORDINLINE(0xAA23);
- EXTERN_API( void )
- StdText (short count,
- const void * textAddr,
- Point numer,
- Point denom) ONEWORDINLINE(0xA882);
- EXTERN_API( short )
- StdTxMeas (short byteCount,
- const void * textAddr,
- Point * numer,
- Point * denom,
- FontInfo * info) ONEWORDINLINE(0xA8ED);
- #if CALL_NOT_IN_CARBON
- EXTERN_API_C( void )
- drawstring (const char * s);
- EXTERN_API_C( short )
- stringwidth (const char * s);
- #endif /* CALL_NOT_IN_CARBON */
- EXTERN_API_C( void )
- stdtext (short count,
- const void * textAddr,
- const Point * numer,
- const Point * denom);
- #if OLDROUTINENAMES
- #define NPixel2Char(textBuf, textLen, slop, pixelWidth, leadingEdge, widthRemaining, styleRunPosition, numer, denom)
- PixelToChar(textBuf, textLen, slop, pixelWidth, leadingEdge, widthRemaining, styleRunPosition, numer, denom)
- #define NChar2Pixel(textBuf, textLen, slop, offset, direction, styleRunPosition, numer, denom)
- CharToPixel(textBuf, textLen, slop, offset, direction, styleRunPosition, numer, denom)
- #define NDrawJust(textPtr, textLength, slop, styleRunPosition, numer, denom)
- DrawJustified(textPtr, textLength, slop, styleRunPosition, numer, denom)
- #define NMeasureJust(textPtr, textLength, slop, charLocs, styleRunPosition, numer, denom)
- MeasureJustified(textPtr, textLength, slop, charLocs, styleRunPosition, numer, denom)
- #define NPortionText(textPtr, textLen, styleRunPosition, numer, denom)
- PortionLine(textPtr, textLen, styleRunPosition, numer, denom)
- #endif /* OLDROUTINENAMES */
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align=reset
- #elif PRAGMA_STRUCT_PACKPUSH
- #pragma pack(pop)
- #elif PRAGMA_STRUCT_PACK
- #pragma pack()
- #endif
- #ifdef PRAGMA_IMPORT_OFF
- #pragma import off
- #elif PRAGMA_IMPORT
- #pragma import reset
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif /* __QUICKDRAWTEXT__ */