You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3059 lines
98 KiB
3059 lines
98 KiB
/* |
|
File: ATSUnicode.h |
|
|
|
Contains: Public interfaces for Apple Type Services for Unicode Imaging |
|
|
|
Version: QuickTime 7.3 |
|
|
|
Copyright: (c) 2007 (c) 1997-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 __MACTYPES__ |
|
#include <MacTypes.h> |
|
#endif |
|
|
|
#ifndef __MACERRORS__ |
|
#include <MacErrors.h> |
|
#endif |
|
|
|
#ifndef __MACMEMORY__ |
|
#include <MacMemory.h> |
|
#endif |
|
|
|
#ifndef __TEXTCOMMON__ |
|
#include <TextCommon.h> |
|
#endif |
|
|
|
#ifndef __ATSLAYOUTTYPES__ |
|
#include <ATSLayoutTypes.h> |
|
#endif |
|
|
|
#ifndef __FONTS__ |
|
#include <Fonts.h> |
|
#endif |
|
|
|
#ifndef __QUICKDRAW__ |
|
#include <Quickdraw.h> |
|
#endif |
|
|
|
#ifndef __SFNTTYPES__ |
|
#include <SFNTTypes.h> |
|
#endif |
|
|
|
#ifndef __SFNTLAYOUTTYPES__ |
|
#include <SFNTLayoutTypes.h> |
|
#endif |
|
|
|
#ifndef __ATSTYPES__ |
|
#include <ATSTypes.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 |
|
|
|
/********************************/ |
|
/* Types and related constants */ |
|
/********************************/ |
|
/* |
|
UniCharArrayHandle and UniCharArrayOffset are defined in the |
|
TextCommon interface file. |
|
*/ |
|
|
|
/* |
|
ATSUTextMeasurement is specific to ATSUI in that measurement |
|
quantities are in fractional Fixed format instead of shorts |
|
used in QuickDraw Text. This provides exact outline metrics and |
|
line specifications such as line width, ascent, descent, and so on. |
|
*/ |
|
typedef Fixed ATSUTextMeasurement; |
|
/* |
|
ATSUFontID indicates a particular font family and face. |
|
ATSUFontID's are not guaranteed to remain constant across |
|
reboots. Clients should use the font's unique name to |
|
get a font token to store in documents which is |
|
guaranteed to remain constant across reboots. |
|
*/ |
|
typedef FMFont ATSUFontID; |
|
/* |
|
ATSUFontFeatureType and ATSUFontFeatureSelector are used |
|
to identify font features. |
|
*/ |
|
typedef UInt16 ATSUFontFeatureType; |
|
typedef UInt16 ATSUFontFeatureSelector; |
|
/* |
|
ATSUFontVariationAxis and ATSUFontVariationValue are used |
|
in connection with font variations. |
|
*/ |
|
typedef FourCharCode ATSUFontVariationAxis; |
|
typedef Fixed ATSUFontVariationValue; |
|
/* |
|
ATSUTextLayout is used to store the attribute information |
|
associated with a contiguous block of UniChar's (UInt16's) |
|
in memory. It's typed to be an opaque structure. |
|
*/ |
|
typedef struct OpaqueATSUTextLayout* ATSUTextLayout; |
|
/* |
|
ATSUStyle is used to store a set of individual attributes, |
|
font features, and font variations. It's typed to be |
|
an opaque structure. |
|
*/ |
|
typedef struct OpaqueATSUStyle* ATSUStyle; |
|
/* |
|
ATSUFontFallbacks is used to store the desired font fallback |
|
list and associated fallback cache information. It's typed |
|
to be an opaque structure. |
|
*/ |
|
typedef struct OpaqueATSUFontFallbacks* ATSUFontFallbacks; |
|
/* |
|
ATSUAttributeTag is used to indicate the particular type |
|
of attribute under consideration: font, size, color, |
|
and so on. |
|
Each style run may have at most one attribute with a |
|
given ATSUAttributeTag (i.e., a style run can't have |
|
more than one font or size) but may have none. |
|
Note: Apple reserves values 0 to 65,535 (0 to 0x0000FFFF). |
|
ATSUI clients may create their own tags with any other value. |
|
*/ |
|
typedef UInt32 ATSUAttributeTag; |
|
enum { |
|
/* Layout and Line Control Attribute Tags*/ |
|
kATSULineWidthTag = 1L, /* Type: ATSUTextMeasurement >= 0*/ |
|
/* Default value: 0*/ |
|
kATSULineRotationTag = 2L, /* Type: Fixed (fixed value in degrees in right-handed coordinate system)*/ |
|
/* Default value: 0*/ |
|
kATSULineDirectionTag = 3L, /* Type: Boolean; values 0 or 1 (see below for value identities)*/ |
|
/* Default value: GetSysDirection() ? kATSURightToLeftBaseDirection : kATSULeftToRightBaseDirection*/ |
|
kATSULineJustificationFactorTag = 4L, /* Type: Fract between 0 and 1*/ |
|
/* Default value: kATSUNoJustification*/ |
|
kATSULineFlushFactorTag = 5L, /* Type: Fract between 0 and 1 */ |
|
/* Default value: kATSUStartAlignment*/ |
|
kATSULineBaselineValuesTag = 6L, /* Type: BslnBaselineRecord*/ |
|
/* Default value: All zeros. Calculated from other style attributes (e.g., font and point size)*/ |
|
kATSULineLayoutOptionsTag = 7L, /* Type: ATSLineLayoutOptions (see ATSLayoutTypes.h)*/ |
|
/* Default value: kATSLineNoLayoutOptions - other options listed in ATSLayoutTypes.h*/ |
|
kATSULineAscentTag = 8L, /* Type: ATSUTextMeasurement >= 0*/ |
|
/* Default value: Maximum typographical ascent of all fonts used on line or textLayout*/ |
|
kATSULineDescentTag = 9L, /* Type: ATSUTextMeasurement >= 0*/ |
|
/* Default value: Maximum typographical descent+leading of all fonts used on line or textLayout*/ |
|
kATSULineLangRegionTag = 10L, /* Type: RegionCode - region values listed in script.h interface file*/ |
|
/* Default value: kTextRegionDontCare*/ |
|
kATSULineTextLocatorTag = 11L, /* Type: TextBreakLocatorRef*/ |
|
/* Default value: NULL - set Region derived locator or the default Text Utilities locator*/ |
|
kATSULineTruncationTag = 12L, /* Type: ATSULineTruncation*/ |
|
/* Default value: kATSUTruncateNone */ |
|
kATSULineFontFallbacksTag = 13L, /* Type: ATSUFontFallbacks*/ |
|
/* Default value: globally set font fallbacks using the ATSUSetFontFallbacks */ |
|
kATSULayoutOperationOverrideTag = 15L, /* Type: ATSULayoutOperationOverrideSpecifier (MacOS 10.2 or later) */ |
|
/* Default value: NULL*/ |
|
kATSUMaxLineTag = 16L, /* This is just for convenience - the upper limit of the ATSUTextLayout attribute tags*/ |
|
/* Obsolete layout tags */ |
|
kATSULineLanguageTag = 10L, /* Use kATSULineLangRegionTag */ |
|
/* Special layout tags */ |
|
kATSUCGContextTag = 32767L, /* Type: CGContextRef (MacOS X systems only)*/ |
|
/* Default value: NULL*/ |
|
/* Run Style Attribute Tags*/ |
|
/* QuickDraw compatibility tags */ |
|
kATSUQDBoldfaceTag = 256L, /* Type: Boolean */ |
|
/* Default value: false*/ |
|
kATSUQDItalicTag = 257L, /* Type: Boolean */ |
|
/* Default value: false*/ |
|
kATSUQDUnderlineTag = 258L, /* Type: Boolean */ |
|
/* Default value: false*/ |
|
kATSUQDCondensedTag = 259L, /* Type: Boolean */ |
|
/* Default value: false*/ |
|
kATSUQDExtendedTag = 260L, /* Type: Boolean */ |
|
/* Default value: false*/ |
|
/* Common run tags */ |
|
kATSUFontTag = 261L, /* Type: ATSUFontID */ |
|
/* Default value: GetScriptVariable( smSystemScript, smScriptAppFond )*/ |
|
kATSUSizeTag = 262L, /* Type: Fixed */ |
|
/* Default value: GetScriptVariable( smSystemScript, smScriptAppFondSize ) */ |
|
kATSUColorTag = 263L, /* Type: RGBColor*/ |
|
/* Default value: (0, 0, 0)*/ |
|
/* Less common run tags */ |
|
kATSULangRegionTag = 264L, /* Type: RegionCode - region values listed in script.h interface file*/ |
|
/* Default value: GetScriptManagerVariable( smRegionCode )*/ |
|
kATSUVerticalCharacterTag = 265L, /* Type: ATSUVerticalCharacterType */ |
|
/* Default value: kATSUStronglyHorizontal*/ |
|
kATSUImposeWidthTag = 266L, /* Type: ATSUTextMeasurement >= 0*/ |
|
/* Default value: kATSUseGlyphAdvance - all glyphs use their own font defined advance widths*/ |
|
kATSUBeforeWithStreamShiftTag = 267L, /* Type: Fixed*/ |
|
/* Default value: 0*/ |
|
kATSUAfterWithStreamShiftTag = 268L, /* Type: Fixed*/ |
|
/* Default value: 0*/ |
|
kATSUCrossStreamShiftTag = 269L, /* Type: Fixed*/ |
|
/* Default value: 0*/ |
|
kATSUTrackingTag = 270L, /* Type: Fixed*/ |
|
/* Default value: kATSNoTracking*/ |
|
kATSUHangingInhibitFactorTag = 271L, /* Type: Fract between 0 and 1*/ |
|
/* Default value: 0*/ |
|
kATSUKerningInhibitFactorTag = 272L, /* Type: Fract between 0 and 1*/ |
|
/* Default value: 0*/ |
|
kATSUDecompositionFactorTag = 273L, /* Type: Fixed (-1.0 -> 1.0)*/ |
|
/* Default value: 0*/ |
|
kATSUBaselineClassTag = 274L, /* Type: BslnBaselineClass (see SFNTLayoutTypes.h)*/ |
|
/* Default value: kBSLNRomanBaseline - set to kBSLNNoBaselineOverride to use intrinsic baselines*/ |
|
kATSUPriorityJustOverrideTag = 275L, /* Type: ATSJustPriorityWidthDeltaOverrides (see ATSLayoutTypes.h)*/ |
|
/* Default value: all zeros*/ |
|
kATSUNoLigatureSplitTag = 276L, /* Type: Boolean*/ |
|
/* Default value: false - ligatures and compound characters have divisable components.*/ |
|
kATSUNoCaretAngleTag = 277L, /* Type: Boolean*/ |
|
/* Default value: false - use the character's angularity to determine its boundaries*/ |
|
kATSUSuppressCrossKerningTag = 278L, /* Type: Boolean*/ |
|
/* Default value: false - do not suppress automatic cross kerning (defined by font)*/ |
|
kATSUNoOpticalAlignmentTag = 279L, /* Type: Boolean*/ |
|
/* Default value: false - do not suppress character's automatic optical positional alignment*/ |
|
kATSUForceHangingTag = 280L, /* Type: Boolean*/ |
|
/* Default value: false - do not force the character's to hang beyond the line boundaries*/ |
|
kATSUNoSpecialJustificationTag = 281L, /* Type: Boolean*/ |
|
/* Default value: false - perform post-compensation justification if needed*/ |
|
kATSUStyleTextLocatorTag = 282L, /* Type: TextBreakLocatorRef*/ |
|
/* Default value: NULL - region derived locator or the default Text Utilities locator*/ |
|
kATSUStyleRenderingOptionsTag = 283L, /* Type: ATSStyleRenderingOptions (see ATSLayoutTypes.h)*/ |
|
/* Default value: kATSStyleNoOptions - other options listed in ATSLayoutTypes.h*/ |
|
kATSUAscentTag = 284L, /* Type: ATSUTextMeasurement >= 0 (MacOS 10.2 or later)*/ |
|
/* Default value: Ascent value of style's font with current pointSize*/ |
|
kATSUDescentTag = 285L, /* Type: ATSUTextMeasurement >= 0 (MacOS 10.2 or later)*/ |
|
/* Default value: Descent value of style's font with current pointSize*/ |
|
kATSULeadingTag = 286L, /* Type: ATSUTextMeasurement >= 0 (MacOS 10.2 or later)*/ |
|
/* Default value: Leading value of style's font with current pointSize (usually value 0)*/ |
|
kATSUGlyphSelectorTag = 287L, /* Type: ATSUGlyphSelector (MacOS 10.2 or later)*/ |
|
/* Default value: 0 - use the glyphs derived by ATSUI layout*/ |
|
kATSURGBAlphaColorTag = 288L, /* Type: ATSURGBAlphaColor (MacOS 10.2 or later)*/ |
|
/* Default value: (0, 0, 0, 1)*/ |
|
kATSUFontMatrixTag = 289L, /* Type: CGAffineTransform (MacOS 10.2 or later)*/ |
|
/* Default value: [1, 0, 0, 1, 0, 0] ==> CGAffineTransformIdentity*/ |
|
kATSUMaxStyleTag = 290L, /* This is just for convenience - the upper limit of the ATSUStyle attribute tags */ |
|
/* obsolete style tags */ |
|
kATSULanguageTag = 264L, /* use kATSULangRegionTag */ |
|
/* max */ |
|
kATSUMaxATSUITagValue = 65535L /* This is the maximum Apple ATSUI reserved tag value. Client defined tags must be larger.*/ |
|
}; |
|
|
|
/* |
|
ATSUAttributeValuePtr is used to provide generic access to |
|
storage of attribute values, which vary in size. |
|
ConstATSUAttributeValuePtr is a pointer to a const attribute value. |
|
*/ |
|
typedef void * ATSUAttributeValuePtr; |
|
typedef const void * ConstATSUAttributeValuePtr; |
|
/* |
|
ATSUAttributeInfo is used to provide a tag/size pairing. |
|
This makes it possible to provide the client information |
|
about all the attributes for a given range of text. This |
|
structure is only used to return to the client information |
|
about a complete set of attributes. An array of |
|
ATSUAttributeInfos is passed as a parameter so that the |
|
client can find out what attributes are set and what their |
|
individual sizes are; with that information, they can then |
|
query about the values of the attributes they're interested |
|
in. Because arrays of ATSUAttributeInfos are used as parameters |
|
to functions, they have to be of a fixed size, hence the |
|
value is not included in the structure. |
|
*/ |
|
struct ATSUAttributeInfo { |
|
ATSUAttributeTag fTag; |
|
ByteCount fValueSize; |
|
}; |
|
typedef struct ATSUAttributeInfo ATSUAttributeInfo; |
|
/* |
|
ATSUCaret contains the complete information needed to render a |
|
caret. fX and fY is the position of one of the caret's ends |
|
relative to the origin position of the line the caret belongs. |
|
fDeltaX and fDeltaY is the position of the caret's other end. |
|
Hence, to draw a caret, simply call MoveTo(fX, fY) followed by |
|
LineTo(fDeltaX, fDeltaY) or equivalent. The ATSUCaret will |
|
contain the positions needed to draw carets on angled lines |
|
and reflect angled carets and leading/trailing split caret |
|
appearances. |
|
*/ |
|
struct ATSUCaret { |
|
Fixed fX; |
|
Fixed fY; |
|
Fixed fDeltaX; |
|
Fixed fDeltaY; |
|
}; |
|
typedef struct ATSUCaret ATSUCaret; |
|
/* |
|
ATSUCursorMovementType is used to indicate how much to move |
|
the cursor when using the ATSUI cusor movement routines. |
|
Note that kATSUByCharacterCluster is only available in Mac OS X |
|
and in CarbonLib versions 1.3 and later. |
|
*/ |
|
typedef UInt16 ATSUCursorMovementType; |
|
enum { |
|
kATSUByCharacter = 0, |
|
kATSUByTypographicCluster = 1, /* clusters based on characters or ligatures*/ |
|
kATSUByWord = 2, |
|
kATSUByCharacterCluster = 3, /* clusters based on characters only*/ |
|
kATSUByCluster = 1 /* obsolete name for kATSUByTypographicCluster*/ |
|
}; |
|
|
|
/* |
|
ATSULineTruncation is for identifying where truncation will occur when |
|
using a ATSUTextLayout with the ATSULineTruncation layout attribute. |
|
*/ |
|
typedef UInt32 ATSULineTruncation; |
|
enum { |
|
kATSUTruncateNone = 0, /* truncation specification - add to any desired truncFeat bit options listed below*/ |
|
kATSUTruncateStart = 1, /* for instance, kATSUTruncateEnd with kATSUTruncFeatNoSquishing is value 0x0000000A*/ |
|
kATSUTruncateEnd = 2, |
|
kATSUTruncateMiddle = 3, |
|
kATSUTruncateSpecificationMask = 0x00000007, /* these bits are reserved for the truncation specification (0 - 7)*/ |
|
/* the following bit-field options can be added to the chosen truncation specification*/ |
|
kATSUTruncFeatNoSquishing = 0x00000008 /* if specified, do not perform any negative justification in lieu of truncation*/ |
|
}; |
|
|
|
/* |
|
ATSUVerticalCharacterType currently can take two values |
|
and is used to indicate whether text is to be laid out |
|
as vertical glyphs or horizontal glyphs. |
|
*/ |
|
typedef UInt16 ATSUVerticalCharacterType; |
|
enum { |
|
kATSUStronglyHorizontal = 0, |
|
kATSUStronglyVertical = 1 |
|
}; |
|
|
|
/* |
|
ATSUStyleComparison is an enumeration with four values, |
|
and is used by ATSUCompareStyles() to indicate if the |
|
first style parameter contains as a proper subset, is |
|
equal to, or is contained by the second style parameter. |
|
*/ |
|
typedef UInt16 ATSUStyleComparison; |
|
enum { |
|
kATSUStyleUnequal = 0, |
|
kATSUStyleContains = 1, |
|
kATSUStyleEquals = 2, |
|
kATSUStyleContainedBy = 3 |
|
}; |
|
|
|
/* |
|
ATSUFontFallbackMethod type defines the method by which ATSUI will try to |
|
find an appropriate font for a character if the assigned font does not |
|
contain the needed glyph(s) to represent it. This affects ATSUMatchFontsToText |
|
and font selection during layout and drawing when ATSUSetTransientFontMatching |
|
is set ON. |
|
*/ |
|
typedef UInt16 ATSUFontFallbackMethod; |
|
enum { |
|
kATSUDefaultFontFallbacks = 0, |
|
kATSULastResortOnlyFallback = 1, |
|
kATSUSequentialFallbacksPreferred = 2, |
|
kATSUSequentialFallbacksExclusive = 3 |
|
}; |
|
|
|
/* |
|
ATSUTabType type defines the characteristic of ATSUI tabs. |
|
A Left tab type specifies that the left side of affected text is to be |
|
maintained flush against the tab stop. A Right tab type specifies that |
|
the right side of affected text is to be maintained flush against the |
|
tab stop. A Center tab type specifies that the affected text centered |
|
about the tab stop. |
|
*/ |
|
|
|
typedef UInt16 ATSUTabType; |
|
enum { |
|
kATSULeftTab = 0, |
|
kATSUCenterTab = 1, |
|
kATSURightTab = 2, |
|
kATSUNumberTabTypes = 3 |
|
}; |
|
|
|
/* |
|
ATSUTab specifies the position and type of tab stop |
|
to be applied to a ATSUTextLayout set through the ATSUI routine |
|
ATSUSetTabArray and returned through ATSUGetTabArray. |
|
*/ |
|
struct ATSUTab { |
|
ATSUTextMeasurement tabPosition; |
|
ATSUTabType tabType; |
|
}; |
|
typedef struct ATSUTab ATSUTab; |
|
/* |
|
GlyphCollection types represent the specific character collection. If |
|
the value is zero, kGlyphCollectionGID, then this indicates that the |
|
glyph value represents the actual glyphID of a specific font. |
|
*/ |
|
|
|
typedef UInt16 GlyphCollection; |
|
enum { |
|
kGlyphCollectionGID = 0, |
|
kGlyphCollectionAdobeCNS1 = 1, |
|
kGlyphCollectionAdobeGB1 = 2, |
|
kGlyphCollectionAdobeJapan1 = 3, |
|
kGlyphCollectionAdobeJapan2 = 4, |
|
kGlyphCollectionAdobeKorea1 = 5, |
|
kGlyphCollectionUnspecified = 0xFF |
|
}; |
|
|
|
/* |
|
ATSUGlyphSelector can direct ATSUI to use a specific glyph instead of the one that |
|
ATSUI normally derives. The glyph can be specified either as a glyphID (specific |
|
to the font used) or CID from a specfic collection defined by the collection entry. |
|
*/ |
|
struct ATSUGlyphSelector { |
|
GlyphCollection collection; /* kGlyphCollectionXXX enum*/ |
|
GlyphID glyphID; /* GID (when collection==0) or CID*/ |
|
}; |
|
typedef struct ATSUGlyphSelector ATSUGlyphSelector; |
|
#if CALL_NOT_IN_CARBON |
|
/* |
|
ATSUMemoryCallbacks is a union struct that allows the ATSUI |
|
client to specify a specific heap for ATSUI use or allocation |
|
callbacks of which ATSUI is to use each time ATSUI performs a |
|
memory operation (alloc, grow, free). |
|
*/ |
|
typedef CALLBACK_API_C( void *, ATSUCustomAllocFunc )(void *refCon, ByteCount howMuch); |
|
typedef CALLBACK_API_C( void , ATSUCustomFreeFunc )(void *refCon, void *doomedBlock); |
|
typedef CALLBACK_API_C( void *, ATSUCustomGrowFunc )(void *refCon, void *oldBlock, ByteCount oldSize, ByteCount newSize); |
|
union ATSUMemoryCallbacks { |
|
struct { |
|
ATSUCustomAllocFunc Alloc; |
|
ATSUCustomFreeFunc Free; |
|
ATSUCustomGrowFunc Grow; |
|
void * memoryRefCon; |
|
} callbacks; |
|
|
|
THz heapToUse; |
|
}; |
|
typedef union ATSUMemoryCallbacks ATSUMemoryCallbacks; |
|
/* |
|
ATSUHeapSpec provides the ATSUI client a means of specifying the heap |
|
from which ATSUI should allocate its dynamic memory or specifying |
|
that ATSUI should use the memory callback provided by the client. |
|
*/ |
|
typedef UInt16 ATSUHeapSpec; |
|
enum { |
|
kATSUUseCurrentHeap = 0, |
|
kATSUUseAppHeap = 1, |
|
kATSUUseSpecificHeap = 2, |
|
kATSUUseCallbacks = 3 |
|
}; |
|
|
|
|
|
/* |
|
ATSUMemorySetting is used to store the results from a ATSUSetMemoryAlloc |
|
or a ATSUGetCurrentMemorySetting call. It can also be used to change the |
|
current ATSUMemorySetting by passing it into the ATSUSetCurrentMemorySetting |
|
call. |
|
*/ |
|
typedef struct OpaqueATSUMemorySetting* ATSUMemorySetting; |
|
#endif /* CALL_NOT_IN_CARBON */ |
|
|
|
/* Types for ATSUI Low Level API */ |
|
struct ATSUGlyphInfo { |
|
GlyphID glyphID; |
|
UInt16 reserved; |
|
UInt32 layoutFlags; |
|
UniCharArrayOffset charIndex; |
|
ATSUStyle style; |
|
Float32 deltaY; |
|
Float32 idealX; |
|
SInt16 screenX; |
|
SInt16 caretX; |
|
}; |
|
typedef struct ATSUGlyphInfo ATSUGlyphInfo; |
|
struct ATSUGlyphInfoArray { |
|
ATSUTextLayout layout; |
|
ItemCount numGlyphs; |
|
ATSUGlyphInfo glyphs[1]; |
|
}; |
|
typedef struct ATSUGlyphInfoArray ATSUGlyphInfoArray; |
|
/********************/ |
|
/* Other constants */ |
|
/********************/ |
|
/* Line direction types (used for kATSULineDirectionTag values) */ |
|
enum { |
|
kATSULeftToRightBaseDirection = 0, /* Impose left-to-right or top-to-bottom dominant direction */ |
|
kATSURightToLeftBaseDirection = 1 /* Impose right-to-left or bottom-to-top dominant direction */ |
|
}; |
|
|
|
/* LineFlushFactor convenience defined values */ |
|
#define kATSUStartAlignment ((Fract) 0x00000000L) |
|
#define kATSUEndAlignment ((Fract) 0x40000000L) |
|
#define kATSUCenterAlignment ((Fract) 0x20000000L) |
|
/* LineJustificationFactor convenience defined values */ |
|
#define kATSUNoJustification ((Fract) 0x00000000L) |
|
#define kATSUFullJustification ((Fract) 0x40000000L) |
|
/* Other constants */ |
|
enum { |
|
kATSUInvalidFontID = 0 |
|
}; |
|
|
|
|
|
enum { |
|
kATSUUseLineControlWidth = 0x7FFFFFFF |
|
}; |
|
|
|
|
|
enum { |
|
kATSUNoSelector = 0x0000FFFF |
|
}; |
|
|
|
|
|
enum { |
|
kATSUUseGrafPortPenLoc = (unsigned long)0xFFFFFFFF, |
|
kATSUClearAll = (unsigned long)0xFFFFFFFF |
|
}; |
|
|
|
|
|
enum { |
|
kATSUFromTextBeginning = (unsigned long)0xFFFFFFFF, |
|
kATSUToTextEnd = (unsigned long)0xFFFFFFFF |
|
}; |
|
|
|
|
|
|
|
/****************/ |
|
/* Functions */ |
|
/****************/ |
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Clipboard support, flattened style version 0 */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
Warning: ATSUCopyToHandle & ATSUPasteFromHandle have been deprecated |
|
Use their replacements, ATSUFlattenStyleRunsToStream and , instead if available or |
|
perform your own flattening |
|
*/ |
|
/* |
|
* ATSUCopyToHandle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCopyToHandle( |
|
ATSUStyle iStyle, |
|
Handle oStyleHandle); |
|
|
|
|
|
/* |
|
* ATSUPasteFromHandle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUPasteFromHandle( |
|
ATSUStyle iStyle, |
|
Handle iStyleHandle); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Memory allocation specification functions (not in Carbon) */ |
|
/* ---------------------------------------------------------------------------- */ |
|
#if CALL_NOT_IN_CARBON |
|
/* |
|
* ATSUCreateMemorySetting() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.6 and later |
|
* CarbonLib: not available |
|
* Mac OS X: not available |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCreateMemorySetting( |
|
ATSUHeapSpec iHeapSpec, |
|
ATSUMemoryCallbacks * iMemoryCallbacks, |
|
ATSUMemorySetting * oMemorySetting); |
|
|
|
|
|
/* |
|
* ATSUSetCurrentMemorySetting() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.6 and later |
|
* CarbonLib: not available |
|
* Mac OS X: not available |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUSetCurrentMemorySetting(ATSUMemorySetting iMemorySetting); |
|
|
|
|
|
/* |
|
* ATSUGetCurrentMemorySetting() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.6 and later |
|
* CarbonLib: not available |
|
* Mac OS X: not available |
|
*/ |
|
EXTERN_API_C( ATSUMemorySetting ) |
|
ATSUGetCurrentMemorySetting(void); |
|
|
|
|
|
/* |
|
* ATSUDisposeMemorySetting() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.6 and later |
|
* CarbonLib: not available |
|
* Mac OS X: not available |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUDisposeMemorySetting(ATSUMemorySetting iMemorySetting); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Font fallback object functions */ |
|
/* ---------------------------------------------------------------------------- */ |
|
#endif /* CALL_NOT_IN_CARBON */ |
|
|
|
/* |
|
* ATSUCreateFontFallbacks() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCreateFontFallbacks(ATSUFontFallbacks * oFontFallback); |
|
|
|
|
|
/* |
|
* ATSUDisposeFontFallbacks() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUDisposeFontFallbacks(ATSUFontFallbacks iFontFallbacks); |
|
|
|
|
|
/* |
|
* ATSUSetObjFontFallbacks() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUSetObjFontFallbacks( |
|
ATSUFontFallbacks iFontFallbacks, |
|
ItemCount iFontFallbacksCount, |
|
const ATSUFontID iFonts[], |
|
ATSUFontFallbackMethod iFontFallbackMethod); |
|
|
|
|
|
/* |
|
* ATSUGetObjFontFallbacks() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetObjFontFallbacks( |
|
ATSUFontFallbacks iFontFallbacks, |
|
ItemCount iMaxFontFallbacksCount, |
|
ATSUFontID oFonts[], |
|
ATSUFontFallbackMethod * oFontFallbackMethod, |
|
ItemCount * oActualFallbacksCount); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Basic style functions */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUCreateStyle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCreateStyle(ATSUStyle * oStyle); |
|
|
|
|
|
/* |
|
* ATSUCreateAndCopyStyle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCreateAndCopyStyle( |
|
ATSUStyle iStyle, |
|
ATSUStyle * oStyle); |
|
|
|
|
|
/* |
|
* ATSUDisposeStyle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUDisposeStyle(ATSUStyle iStyle); |
|
|
|
|
|
/* |
|
* ATSUSetStyleRefCon() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUSetStyleRefCon( |
|
ATSUStyle iStyle, |
|
UInt32 iRefCon); |
|
|
|
|
|
/* |
|
* ATSUGetStyleRefCon() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetStyleRefCon( |
|
ATSUStyle iStyle, |
|
UInt32 * oRefCon); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Style comparison */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUCompareStyles() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCompareStyles( |
|
ATSUStyle iFirstStyle, |
|
ATSUStyle iSecondStyle, |
|
ATSUStyleComparison * oComparison); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Attribute manipulations */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUCopyAttributes() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCopyAttributes( |
|
ATSUStyle iSourceStyle, |
|
ATSUStyle iDestinationStyle); |
|
|
|
|
|
/* |
|
* ATSUOverwriteAttributes() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUOverwriteAttributes( |
|
ATSUStyle iSourceStyle, |
|
ATSUStyle iDestinationStyle); |
|
|
|
|
|
/* |
|
* ATSUUnderwriteAttributes() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUUnderwriteAttributes( |
|
ATSUStyle iSourceStyle, |
|
ATSUStyle iDestinationStyle); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Empty styles */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUClearStyle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUClearStyle(ATSUStyle iStyle); |
|
|
|
|
|
/* |
|
* ATSUStyleIsEmpty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUStyleIsEmpty( |
|
ATSUStyle iStyle, |
|
Boolean * oIsClear); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Get and set attributes */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUCalculateBaselineDeltas() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCalculateBaselineDeltas( |
|
ATSUStyle iStyle, |
|
BslnBaselineClass iBaselineClass, |
|
BslnBaselineRecord oBaselineDeltas); |
|
|
|
|
|
/* |
|
* ATSUSetAttributes() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUSetAttributes( |
|
ATSUStyle iStyle, |
|
ItemCount iAttributeCount, |
|
const ATSUAttributeTag iTag[], |
|
const ByteCount iValueSize[], |
|
const ATSUAttributeValuePtr iValue[]); |
|
|
|
|
|
/* |
|
* ATSUGetAttribute() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetAttribute( |
|
ATSUStyle iStyle, |
|
ATSUAttributeTag iTag, |
|
ByteCount iExpectedValueSize, |
|
ATSUAttributeValuePtr oValue, |
|
ByteCount * oActualValueSize); |
|
|
|
|
|
/* |
|
* ATSUGetAllAttributes() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetAllAttributes( |
|
ATSUStyle iStyle, |
|
ATSUAttributeInfo oAttributeInfoArray[], |
|
ItemCount iTagValuePairArraySize, |
|
ItemCount * oTagValuePairCount); |
|
|
|
|
|
/* |
|
* ATSUClearAttributes() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUClearAttributes( |
|
ATSUStyle iStyle, |
|
ItemCount iTagCount, |
|
const ATSUAttributeTag iTag[]); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Font features */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUSetFontFeatures() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUSetFontFeatures( |
|
ATSUStyle iStyle, |
|
ItemCount iFeatureCount, |
|
const ATSUFontFeatureType iType[], |
|
const ATSUFontFeatureSelector iSelector[]); |
|
|
|
|
|
/* |
|
* ATSUGetFontFeature() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetFontFeature( |
|
ATSUStyle iStyle, |
|
ItemCount iFeatureIndex, |
|
ATSUFontFeatureType * oFeatureType, |
|
ATSUFontFeatureSelector * oFeatureSelector); |
|
|
|
|
|
/* |
|
* ATSUGetAllFontFeatures() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetAllFontFeatures( |
|
ATSUStyle iStyle, |
|
ItemCount iMaximumFeatureCount, |
|
ATSUFontFeatureType oFeatureType[], |
|
ATSUFontFeatureSelector oFeatureSelector[], |
|
ItemCount * oActualFeatureCount); |
|
|
|
|
|
/* |
|
* ATSUClearFontFeatures() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUClearFontFeatures( |
|
ATSUStyle iStyle, |
|
ItemCount iFeatureCount, |
|
const ATSUFontFeatureType iType[], |
|
const ATSUFontFeatureSelector iSelector[]); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Font variations */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUSetVariations() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUSetVariations( |
|
ATSUStyle iStyle, |
|
ItemCount iVariationCount, |
|
const ATSUFontVariationAxis iAxes[], |
|
const ATSUFontVariationValue iValue[]); |
|
|
|
|
|
/* |
|
* ATSUGetFontVariationValue() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetFontVariationValue( |
|
ATSUStyle iStyle, |
|
ATSUFontVariationAxis iFontVariationAxis, |
|
ATSUFontVariationValue * oFontVariationValue); |
|
|
|
|
|
/* |
|
* ATSUGetAllFontVariations() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetAllFontVariations( |
|
ATSUStyle iStyle, |
|
ItemCount iVariationCount, |
|
ATSUFontVariationAxis oVariationAxes[], |
|
ATSUFontVariationValue oFontVariationValues[], |
|
ItemCount * oActualVariationCount); |
|
|
|
|
|
/* |
|
* ATSUClearFontVariations() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUClearFontVariations( |
|
ATSUStyle iStyle, |
|
ItemCount iAxisCount, |
|
const ATSUFontVariationAxis iAxis[]); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Basic text-layout functions */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUCreateTextLayout() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCreateTextLayout(ATSUTextLayout * oTextLayout); |
|
|
|
|
|
/* |
|
* ATSUCreateAndCopyTextLayout() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.6 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCreateAndCopyTextLayout( |
|
ATSUTextLayout iTextLayout, |
|
ATSUTextLayout * oTextLayout); |
|
|
|
|
|
/* |
|
* ATSUCreateTextLayoutWithTextPtr() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCreateTextLayoutWithTextPtr( |
|
ConstUniCharArrayPtr iText, |
|
UniCharArrayOffset iTextOffset, |
|
UniCharCount iTextLength, |
|
UniCharCount iTextTotalLength, |
|
ItemCount iNumberOfRuns, |
|
const UniCharCount iRunLengths[], |
|
ATSUStyle iStyles[], |
|
ATSUTextLayout * oTextLayout); |
|
|
|
|
|
/* |
|
* ATSUCreateTextLayoutWithTextHandle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCreateTextLayoutWithTextHandle( |
|
UniCharArrayHandle iText, |
|
UniCharArrayOffset iTextOffset, |
|
UniCharCount iTextLength, |
|
UniCharCount iTextTotalLength, |
|
ItemCount iNumberOfRuns, |
|
const UniCharCount iRunLengths[], |
|
ATSUStyle iStyles[], |
|
ATSUTextLayout * oTextLayout); |
|
|
|
|
|
/* |
|
* ATSUClearLayoutCache() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.6 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUClearLayoutCache( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iLineStart); |
|
|
|
|
|
/* |
|
* ATSUDisposeTextLayout() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUDisposeTextLayout(ATSUTextLayout iTextLayout); |
|
|
|
|
|
/* |
|
* ATSUSetTextLayoutRefCon() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUSetTextLayoutRefCon( |
|
ATSUTextLayout iTextLayout, |
|
UInt32 iRefCon); |
|
|
|
|
|
/* |
|
* ATSUGetTextLayoutRefCon() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetTextLayoutRefCon( |
|
ATSUTextLayout iTextLayout, |
|
UInt32 * oRefCon); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Glyph bounds retrieval */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUGetGlyphBounds() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.6 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetGlyphBounds( |
|
ATSUTextLayout iTextLayout, |
|
ATSUTextMeasurement iTextBasePointX, |
|
ATSUTextMeasurement iTextBasePointY, |
|
UniCharArrayOffset iBoundsCharStart, |
|
UniCharCount iBoundsCharLength, |
|
UInt16 iTypeOfBounds, |
|
ItemCount iMaxNumberOfBounds, |
|
ATSTrapezoid oGlyphBounds[], |
|
ItemCount * oActualNumberOfBounds); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Idle processing */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUIdle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUIdle(ATSUTextLayout iTextLayout); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Text location */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUSetTextPointerLocation() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUSetTextPointerLocation( |
|
ATSUTextLayout iTextLayout, |
|
ConstUniCharArrayPtr iText, |
|
UniCharArrayOffset iTextOffset, |
|
UniCharCount iTextLength, |
|
UniCharCount iTextTotalLength); |
|
|
|
|
|
/* |
|
* ATSUSetTextHandleLocation() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUSetTextHandleLocation( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayHandle iText, |
|
UniCharArrayOffset iTextOffset, |
|
UniCharCount iTextLength, |
|
UniCharCount iTextTotalLength); |
|
|
|
|
|
/* |
|
* ATSUGetTextLocation() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetTextLocation( |
|
ATSUTextLayout iTextLayout, |
|
void ** oText, |
|
Boolean * oTextIsStoredInHandle, |
|
UniCharArrayOffset * oOffset, |
|
UniCharCount * oTextLength, |
|
UniCharCount * oTextTotalLength); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Text manipulation */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUTextDeleted() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUTextDeleted( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iDeletedRangeStart, |
|
UniCharCount iDeletedRangeLength); |
|
|
|
|
|
/* |
|
* ATSUTextInserted() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUTextInserted( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iInsertionLocation, |
|
UniCharCount iInsertionLength); |
|
|
|
|
|
/* |
|
* ATSUTextMoved() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUTextMoved( |
|
ATSUTextLayout iTextLayout, |
|
ConstUniCharArrayPtr iNewLocation); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Layout controls */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUCopyLayoutControls() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCopyLayoutControls( |
|
ATSUTextLayout iSourceTextLayout, |
|
ATSUTextLayout iDestTextLayout); |
|
|
|
|
|
/* |
|
* ATSUSetLayoutControls() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUSetLayoutControls( |
|
ATSUTextLayout iTextLayout, |
|
ItemCount iAttributeCount, |
|
const ATSUAttributeTag iTag[], |
|
const ByteCount iValueSize[], |
|
const ATSUAttributeValuePtr iValue[]); |
|
|
|
|
|
/* |
|
* ATSUGetLayoutControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetLayoutControl( |
|
ATSUTextLayout iTextLayout, |
|
ATSUAttributeTag iTag, |
|
ByteCount iExpectedValueSize, |
|
ATSUAttributeValuePtr oValue, |
|
ByteCount * oActualValueSize); |
|
|
|
|
|
/* |
|
* ATSUGetAllLayoutControls() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetAllLayoutControls( |
|
ATSUTextLayout iTextLayout, |
|
ATSUAttributeInfo oAttributeInfoArray[], |
|
ItemCount iTagValuePairArraySize, |
|
ItemCount * oTagValuePairCount); |
|
|
|
|
|
/* |
|
* ATSUClearLayoutControls() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUClearLayoutControls( |
|
ATSUTextLayout iTextLayout, |
|
ItemCount iTagCount, |
|
const ATSUAttributeTag iTag[]); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Single line layout controls */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUCopyLineControls() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.6 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCopyLineControls( |
|
ATSUTextLayout iSourceTextLayout, |
|
UniCharArrayOffset iSourceLineStart, |
|
ATSUTextLayout iDestTextLayout, |
|
UniCharArrayOffset iDestLineStart); |
|
|
|
|
|
/* |
|
* ATSUSetLineControls() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.6 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUSetLineControls( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iLineStart, |
|
ItemCount iAttributeCount, |
|
const ATSUAttributeTag iTag[], |
|
const ByteCount iValueSize[], |
|
const ATSUAttributeValuePtr iValue[]); |
|
|
|
|
|
/* |
|
* ATSUGetLineControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.6 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetLineControl( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iLineStart, |
|
ATSUAttributeTag iTag, |
|
ByteCount iExpectedValueSize, |
|
ATSUAttributeValuePtr oValue, |
|
ByteCount * oActualValueSize); |
|
|
|
|
|
/* |
|
* ATSUGetAllLineControls() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.6 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetAllLineControls( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iLineStart, |
|
ATSUAttributeInfo oAttributeInfoArray[], |
|
ItemCount iTagValuePairArraySize, |
|
ItemCount * oTagValuePairCount); |
|
|
|
|
|
/* |
|
* ATSUClearLineControls() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.6 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUClearLineControls( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iLineStart, |
|
ItemCount iTagCount, |
|
const ATSUAttributeTag iTag[]); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Style run processing */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUSetRunStyle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUSetRunStyle( |
|
ATSUTextLayout iTextLayout, |
|
ATSUStyle iStyle, |
|
UniCharArrayOffset iRunStart, |
|
UniCharCount iRunLength); |
|
|
|
|
|
/* |
|
* ATSUGetRunStyle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetRunStyle( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iOffset, |
|
ATSUStyle * oStyle, |
|
UniCharArrayOffset * oRunStart, |
|
UniCharCount * oRunLength); |
|
|
|
|
|
/* |
|
* ATSUGetContinuousAttributes() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetContinuousAttributes( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iOffset, |
|
UniCharCount iLength, |
|
ATSUStyle oStyle); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Drawing and measuring */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUDrawText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUDrawText( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iLineOffset, |
|
UniCharCount iLineLength, |
|
ATSUTextMeasurement iLocationX, |
|
ATSUTextMeasurement iLocationY); |
|
|
|
|
|
/* |
|
Warning: ATSUMeasureText has been deprecated |
|
Use its replacement, ATSUGetUnjustifiedBounds, instead if available |
|
*/ |
|
/* |
|
* ATSUMeasureText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUMeasureText( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iLineStart, |
|
UniCharCount iLineLength, |
|
ATSUTextMeasurement * oTextBefore, |
|
ATSUTextMeasurement * oTextAfter, |
|
ATSUTextMeasurement * oAscent, |
|
ATSUTextMeasurement * oDescent); |
|
|
|
|
|
/* |
|
* ATSUGetUnjustifiedBounds() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetUnjustifiedBounds( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iLineStart, |
|
UniCharCount iLineLength, |
|
ATSUTextMeasurement * oTextBefore, |
|
ATSUTextMeasurement * oTextAfter, |
|
ATSUTextMeasurement * oAscent, |
|
ATSUTextMeasurement * oDescent); |
|
|
|
|
|
/* |
|
* ATSUMeasureTextImage() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUMeasureTextImage( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iLineOffset, |
|
UniCharCount iLineLength, |
|
ATSUTextMeasurement iLocationX, |
|
ATSUTextMeasurement iLocationY, |
|
Rect * oTextImageRect); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Highlighting */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUHighlightText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUHighlightText( |
|
ATSUTextLayout iTextLayout, |
|
ATSUTextMeasurement iTextBasePointX, |
|
ATSUTextMeasurement iTextBasePointY, |
|
UniCharArrayOffset iHighlightStart, |
|
UniCharCount iHighlightLength); |
|
|
|
|
|
/* |
|
* ATSUUnhighlightText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUUnhighlightText( |
|
ATSUTextLayout iTextLayout, |
|
ATSUTextMeasurement iTextBasePointX, |
|
ATSUTextMeasurement iTextBasePointY, |
|
UniCharArrayOffset iHighlightStart, |
|
UniCharCount iHighlightLength); |
|
|
|
|
|
/* |
|
* ATSUGetTextHighlight() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetTextHighlight( |
|
ATSUTextLayout iTextLayout, |
|
ATSUTextMeasurement iTextBasePointX, |
|
ATSUTextMeasurement iTextBasePointY, |
|
UniCharArrayOffset iHighlightStart, |
|
UniCharCount iHighlightLength, |
|
RgnHandle oHighlightRegion); |
|
|
|
|
|
/* |
|
* ATSUHighlightInactiveText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUHighlightInactiveText( |
|
ATSUTextLayout iTextLayout, |
|
ATSUTextMeasurement iTextBasePointX, |
|
ATSUTextMeasurement iTextBasePointY, |
|
UniCharArrayOffset iHighlightStart, |
|
UniCharCount iHighlightLength); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Hit-testing */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUPositionToOffset() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUPositionToOffset( |
|
ATSUTextLayout iTextLayout, |
|
ATSUTextMeasurement iLocationX, |
|
ATSUTextMeasurement iLocationY, |
|
UniCharArrayOffset * ioPrimaryOffset, |
|
Boolean * oIsLeading, |
|
UniCharArrayOffset * oSecondaryOffset); |
|
|
|
|
|
/* |
|
* ATSUOffsetToPosition() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUOffsetToPosition( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iOffset, |
|
Boolean iIsLeading, |
|
ATSUCaret * oMainCaret, |
|
ATSUCaret * oSecondCaret, |
|
Boolean * oCaretIsSplit); |
|
|
|
|
|
/* |
|
* ATSUPositionToCursorOffset() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 9.2.2 and later |
|
* CarbonLib: in CarbonLib 1.5 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUPositionToCursorOffset( |
|
ATSUTextLayout iTextLayout, |
|
ATSUTextMeasurement iLocationX, |
|
ATSUTextMeasurement iLocationY, |
|
ATSUCursorMovementType iMovementType, |
|
UniCharArrayOffset * ioPrimaryOffset, |
|
Boolean * oIsLeading, |
|
UniCharArrayOffset * oSecondaryOffset); |
|
|
|
|
|
/* |
|
* ATSUOffsetToCursorPosition() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 9.2.2 and later |
|
* CarbonLib: in CarbonLib 1.5 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUOffsetToCursorPosition( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iOffset, |
|
Boolean iIsLeading, |
|
ATSUCursorMovementType iMovementType, |
|
ATSUCaret * oMainCaret, |
|
ATSUCaret * oSecondCaret, |
|
Boolean * oCaretIsSplit); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Cursor movement */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUNextCursorPosition() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUNextCursorPosition( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iOldOffset, |
|
ATSUCursorMovementType iMovementType, |
|
UniCharArrayOffset * oNewOffset); |
|
|
|
|
|
/* |
|
* ATSUPreviousCursorPosition() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUPreviousCursorPosition( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iOldOffset, |
|
ATSUCursorMovementType iMovementType, |
|
UniCharArrayOffset * oNewOffset); |
|
|
|
|
|
/* |
|
* ATSURightwardCursorPosition() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSURightwardCursorPosition( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iOldOffset, |
|
ATSUCursorMovementType iMovementType, |
|
UniCharArrayOffset * oNewOffset); |
|
|
|
|
|
/* |
|
* ATSULeftwardCursorPosition() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSULeftwardCursorPosition( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iOldOffset, |
|
ATSUCursorMovementType iMovementType, |
|
UniCharArrayOffset * oNewOffset); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Line breaking */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUBatchBreakLines() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUBatchBreakLines( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iRangeStart, |
|
UniCharCount iRangeLength, |
|
ATSUTextMeasurement iLineWidth, |
|
ItemCount * oBreakCount); |
|
|
|
|
|
/* |
|
* ATSUBreakLine() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUBreakLine( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iLineStart, |
|
ATSUTextMeasurement iLineWidth, |
|
Boolean iUseAsSoftLineBreak, |
|
UniCharArrayOffset * oLineBreak); |
|
|
|
|
|
/* |
|
* ATSUSetSoftLineBreak() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUSetSoftLineBreak( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iLineBreak); |
|
|
|
|
|
/* |
|
* ATSUGetSoftLineBreaks() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetSoftLineBreaks( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iRangeStart, |
|
UniCharCount iRangeLength, |
|
ItemCount iMaximumBreaks, |
|
UniCharArrayOffset oBreaks[], |
|
ItemCount * oBreakCount); |
|
|
|
|
|
/* |
|
* ATSUClearSoftLineBreaks() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUClearSoftLineBreaks( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iRangeStart, |
|
UniCharCount iRangeLength); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Tab support */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUSetTabArray() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUSetTabArray( |
|
ATSUTextLayout iTextLayout, |
|
const ATSUTab iTabs[], |
|
ItemCount iTabCount); |
|
|
|
|
|
/* |
|
* ATSUGetTabArray() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetTabArray( |
|
ATSUTextLayout iTextLayout, |
|
ItemCount iMaxTabCount, |
|
ATSUTab oTabs[], |
|
ItemCount * oTabCount); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Font matching */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUSetFontFallbacks() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.6 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUSetFontFallbacks( |
|
ItemCount iFontFallbacksCount, |
|
const ATSUFontID iFontIDs[], |
|
ATSUFontFallbackMethod iFontFallbackMethod); |
|
|
|
|
|
/* |
|
* ATSUGetFontFallbacks() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.6 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetFontFallbacks( |
|
ItemCount iMaxFontFallbacksCount, |
|
ATSUFontID oFontIDs[], |
|
ATSUFontFallbackMethod * oFontFallbackMethod, |
|
ItemCount * oActualFallbacksCount); |
|
|
|
|
|
/* |
|
* ATSUMatchFontsToText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUMatchFontsToText( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iTextStart, |
|
UniCharCount iTextLength, |
|
ATSUFontID * oFontID, |
|
UniCharArrayOffset * oChangedOffset, |
|
UniCharCount * oChangedLength); |
|
|
|
|
|
/* |
|
* ATSUSetTransientFontMatching() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUSetTransientFontMatching( |
|
ATSUTextLayout iTextLayout, |
|
Boolean iTransientFontMatching); |
|
|
|
|
|
/* |
|
* ATSUGetTransientFontMatching() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetTransientFontMatching( |
|
ATSUTextLayout iTextLayout, |
|
Boolean * oTransientFontMatching); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Font ID's */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUFontCount() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUFontCount(ItemCount * oFontCount); |
|
|
|
|
|
/* |
|
* ATSUGetFontIDs() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetFontIDs( |
|
ATSUFontID oFontIDs[], |
|
ItemCount iArraySize, |
|
ItemCount * oFontCount); |
|
|
|
|
|
/* |
|
* ATSUFONDtoFontID() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUFONDtoFontID( |
|
short iFONDNumber, |
|
Style iFONDStyle, |
|
ATSUFontID * oFontID); |
|
|
|
|
|
/* |
|
* ATSUFontIDtoFOND() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUFontIDtoFOND( |
|
ATSUFontID iFontID, |
|
short * oFONDNumber, |
|
Style * oFONDStyle); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Font names */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUCountFontNames() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCountFontNames( |
|
ATSUFontID iFontID, |
|
ItemCount * oFontNameCount); |
|
|
|
|
|
/* |
|
* ATSUGetIndFontName() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetIndFontName( |
|
ATSUFontID iFontID, |
|
ItemCount iFontNameIndex, |
|
ByteCount iMaximumNameLength, |
|
Ptr oName, |
|
ByteCount * oActualNameLength, |
|
FontNameCode * oFontNameCode, |
|
FontPlatformCode * oFontNamePlatform, |
|
FontScriptCode * oFontNameScript, |
|
FontLanguageCode * oFontNameLanguage); |
|
|
|
|
|
/* |
|
* ATSUFindFontName() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUFindFontName( |
|
ATSUFontID iFontID, |
|
FontNameCode iFontNameCode, |
|
FontPlatformCode iFontNamePlatform, |
|
FontScriptCode iFontNameScript, |
|
FontLanguageCode iFontNameLanguage, |
|
ByteCount iMaximumNameLength, |
|
Ptr oName, |
|
ByteCount * oActualNameLength, |
|
ItemCount * oFontNameIndex); |
|
|
|
|
|
/* |
|
* ATSUFindFontFromName() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUFindFontFromName( |
|
Ptr iName, |
|
ByteCount iNameLength, |
|
FontNameCode iFontNameCode, |
|
FontPlatformCode iFontNamePlatform, |
|
FontScriptCode iFontNameScript, |
|
FontLanguageCode iFontNameLanguage, |
|
ATSUFontID * oFontID); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Font features */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUCountFontFeatureTypes() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCountFontFeatureTypes( |
|
ATSUFontID iFontID, |
|
ItemCount * oTypeCount); |
|
|
|
|
|
/* |
|
* ATSUCountFontFeatureSelectors() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCountFontFeatureSelectors( |
|
ATSUFontID iFontID, |
|
ATSUFontFeatureType iType, |
|
ItemCount * oSelectorCount); |
|
|
|
|
|
/* |
|
* ATSUGetFontFeatureTypes() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetFontFeatureTypes( |
|
ATSUFontID iFontID, |
|
ItemCount iMaximumTypes, |
|
ATSUFontFeatureType oTypes[], |
|
ItemCount * oActualTypeCount); |
|
|
|
|
|
/* |
|
* ATSUGetFontFeatureSelectors() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetFontFeatureSelectors( |
|
ATSUFontID iFontID, |
|
ATSUFontFeatureType iType, |
|
ItemCount iMaximumSelectors, |
|
ATSUFontFeatureSelector oSelectors[], |
|
Boolean oSelectorIsOnByDefault[], |
|
ItemCount * oActualSelectorCount, |
|
Boolean * oIsMutuallyExclusive); |
|
|
|
|
|
/* |
|
* ATSUGetFontFeatureNameCode() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetFontFeatureNameCode( |
|
ATSUFontID iFontID, |
|
ATSUFontFeatureType iType, |
|
ATSUFontFeatureSelector iSelector, |
|
FontNameCode * oNameCode); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Font tracking value & names */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUCountFontTracking() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.6 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCountFontTracking( |
|
ATSUFontID iFontID, |
|
ATSUVerticalCharacterType iCharacterOrientation, |
|
ItemCount * oTrackingCount); |
|
|
|
|
|
/* |
|
* ATSUGetIndFontTracking() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.6 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetIndFontTracking( |
|
ATSUFontID iFontID, |
|
ATSUVerticalCharacterType iCharacterOrientation, |
|
ItemCount iTrackIndex, |
|
Fixed * oFontTrackingValue, |
|
FontNameCode * oNameCode); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Font variations */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUCountFontVariations() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCountFontVariations( |
|
ATSUFontID iFontID, |
|
ItemCount * oVariationCount); |
|
|
|
|
|
/* |
|
* ATSUGetIndFontVariation() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetIndFontVariation( |
|
ATSUFontID iFontID, |
|
ItemCount iVariationIndex, |
|
ATSUFontVariationAxis * oATSUFontVariationAxis, |
|
ATSUFontVariationValue * oMinimumValue, |
|
ATSUFontVariationValue * oMaximumValue, |
|
ATSUFontVariationValue * oDefaultValue); |
|
|
|
|
|
/* |
|
* ATSUGetFontVariationNameCode() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetFontVariationNameCode( |
|
ATSUFontID iFontID, |
|
ATSUFontVariationAxis iAxis, |
|
FontNameCode * oNameCode); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Font Instances */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUCountFontInstances() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUCountFontInstances( |
|
ATSUFontID iFontID, |
|
ItemCount * oInstances); |
|
|
|
|
|
/* |
|
* ATSUGetFontInstance() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetFontInstance( |
|
ATSUFontID iFontID, |
|
ItemCount iFontInstanceIndex, |
|
ItemCount iMaximumVariations, |
|
ATSUFontVariationAxis oAxes[], |
|
ATSUFontVariationValue oValues[], |
|
ItemCount * oActualVariationCount); |
|
|
|
|
|
/* |
|
* ATSUGetFontInstanceNameCode() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetFontInstanceNameCode( |
|
ATSUFontID iFontID, |
|
ItemCount iInstanceIndex, |
|
FontNameCode * oNameCode); |
|
|
|
|
|
|
|
/********************************************************************************/ |
|
/* ATSUI Low-Level API. For more low-level calls, see ATSUnicodeDirectAccess.h */ |
|
/********************************************************************************/ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* GlyphInfo access */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUGetGlyphInfo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 9.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetGlyphInfo( |
|
ATSUTextLayout iTextLayout, |
|
UniCharArrayOffset iLineStart, |
|
UniCharCount iLineLength, |
|
ByteCount * ioBufferSize, |
|
ATSUGlyphInfoArray * oGlyphInfoPtr); |
|
|
|
|
|
/* |
|
* ATSUDrawGlyphInfo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 9.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUDrawGlyphInfo( |
|
ATSUGlyphInfoArray * iGlyphInfoArray, |
|
Float32Point iLocation); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Font Data Access */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUGlyphGetIdealMetrics() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 9.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGlyphGetIdealMetrics( |
|
ATSUStyle iATSUStyle, |
|
ItemCount iNumOfGlyphs, |
|
GlyphID iGlyphIDs[], |
|
ByteOffset iInputOffset, |
|
ATSGlyphIdealMetrics oIdealMetrics[]); |
|
|
|
|
|
/* |
|
* ATSUGetNativeCurveType() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 9.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGetNativeCurveType( |
|
ATSUStyle iATSUStyle, |
|
ATSCurveType * oCurveType); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* Device specific routines */ |
|
/* ---------------------------------------------------------------------------- */ |
|
/* |
|
* ATSUGlyphGetScreenMetrics() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 9.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGlyphGetScreenMetrics( |
|
ATSUStyle iATSUStyle, |
|
ItemCount iNumOfGlyphs, |
|
GlyphID iGlyphIDs[], |
|
ByteOffset iInputOffset, |
|
Boolean iForcingAntiAlias, |
|
Boolean iAntiAliasSwitch, |
|
ATSGlyphScreenMetrics oScreenMetrics[]); |
|
|
|
|
|
/* ---------------------------------------------------------------------------- */ |
|
/* ATSUGlyphGetQuadraticPaths callbacks */ |
|
/* ---------------------------------------------------------------------------- */ |
|
typedef CALLBACK_API( OSStatus , ATSQuadraticLineProcPtr )(const Float32Point *pt1, const Float32Point *pt2, void *callBackDataPtr); |
|
typedef CALLBACK_API( OSStatus , ATSQuadraticCurveProcPtr )(const Float32Point *pt1, const Float32Point *controlPt, const Float32Point *pt2, void *callBackDataPtr); |
|
typedef CALLBACK_API( OSStatus , ATSQuadraticNewPathProcPtr )(void * callBackDataPtr); |
|
typedef CALLBACK_API( OSStatus , ATSQuadraticClosePathProcPtr )(void * callBackDataPtr); |
|
typedef TVECTOR_UPP_TYPE(ATSQuadraticLineProcPtr) ATSQuadraticLineUPP; |
|
typedef TVECTOR_UPP_TYPE(ATSQuadraticCurveProcPtr) ATSQuadraticCurveUPP; |
|
typedef TVECTOR_UPP_TYPE(ATSQuadraticNewPathProcPtr) ATSQuadraticNewPathUPP; |
|
typedef TVECTOR_UPP_TYPE(ATSQuadraticClosePathProcPtr) ATSQuadraticClosePathUPP; |
|
/* |
|
* NewATSQuadraticLineUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ATSQuadraticLineUPP ) |
|
NewATSQuadraticLineUPP(ATSQuadraticLineProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppATSQuadraticLineProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ATSQuadraticLineUPP) NewATSQuadraticLineUPP(ATSQuadraticLineProcPtr userRoutine) { return userRoutine; } |
|
#else |
|
#define NewATSQuadraticLineUPP(userRoutine) (userRoutine) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewATSQuadraticCurveUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ATSQuadraticCurveUPP ) |
|
NewATSQuadraticCurveUPP(ATSQuadraticCurveProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppATSQuadraticCurveProcInfo = 0x00003FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ATSQuadraticCurveUPP) NewATSQuadraticCurveUPP(ATSQuadraticCurveProcPtr userRoutine) { return userRoutine; } |
|
#else |
|
#define NewATSQuadraticCurveUPP(userRoutine) (userRoutine) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewATSQuadraticNewPathUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ATSQuadraticNewPathUPP ) |
|
NewATSQuadraticNewPathUPP(ATSQuadraticNewPathProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppATSQuadraticNewPathProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ATSQuadraticNewPathUPP) NewATSQuadraticNewPathUPP(ATSQuadraticNewPathProcPtr userRoutine) { return userRoutine; } |
|
#else |
|
#define NewATSQuadraticNewPathUPP(userRoutine) (userRoutine) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewATSQuadraticClosePathUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ATSQuadraticClosePathUPP ) |
|
NewATSQuadraticClosePathUPP(ATSQuadraticClosePathProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppATSQuadraticClosePathProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ATSQuadraticClosePathUPP) NewATSQuadraticClosePathUPP(ATSQuadraticClosePathProcPtr userRoutine) { return userRoutine; } |
|
#else |
|
#define NewATSQuadraticClosePathUPP(userRoutine) (userRoutine) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeATSQuadraticLineUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeATSQuadraticLineUPP(ATSQuadraticLineUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeATSQuadraticLineUPP(ATSQuadraticLineUPP) {} |
|
#else |
|
#define DisposeATSQuadraticLineUPP(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeATSQuadraticCurveUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeATSQuadraticCurveUPP(ATSQuadraticCurveUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeATSQuadraticCurveUPP(ATSQuadraticCurveUPP) {} |
|
#else |
|
#define DisposeATSQuadraticCurveUPP(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeATSQuadraticNewPathUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeATSQuadraticNewPathUPP(ATSQuadraticNewPathUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeATSQuadraticNewPathUPP(ATSQuadraticNewPathUPP) {} |
|
#else |
|
#define DisposeATSQuadraticNewPathUPP(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeATSQuadraticClosePathUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeATSQuadraticClosePathUPP(ATSQuadraticClosePathUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeATSQuadraticClosePathUPP(ATSQuadraticClosePathUPP) {} |
|
#else |
|
#define DisposeATSQuadraticClosePathUPP(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeATSQuadraticLineUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
InvokeATSQuadraticLineUPP( |
|
const Float32Point * pt1, |
|
const Float32Point * pt2, |
|
void * callBackDataPtr, |
|
ATSQuadraticLineUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSStatus) InvokeATSQuadraticLineUPP(const Float32Point * pt1, const Float32Point * pt2, void * callBackDataPtr, ATSQuadraticLineUPP userUPP) { return (*userUPP)(pt1, pt2, callBackDataPtr); } |
|
#else |
|
#define InvokeATSQuadraticLineUPP(pt1, pt2, callBackDataPtr, userUPP) (*userUPP)(pt1, pt2, callBackDataPtr) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeATSQuadraticCurveUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
InvokeATSQuadraticCurveUPP( |
|
const Float32Point * pt1, |
|
const Float32Point * controlPt, |
|
const Float32Point * pt2, |
|
void * callBackDataPtr, |
|
ATSQuadraticCurveUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSStatus) InvokeATSQuadraticCurveUPP(const Float32Point * pt1, const Float32Point * controlPt, const Float32Point * pt2, void * callBackDataPtr, ATSQuadraticCurveUPP userUPP) { return (*userUPP)(pt1, controlPt, pt2, callBackDataPtr); } |
|
#else |
|
#define InvokeATSQuadraticCurveUPP(pt1, controlPt, pt2, callBackDataPtr, userUPP) (*userUPP)(pt1, controlPt, pt2, callBackDataPtr) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeATSQuadraticNewPathUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
InvokeATSQuadraticNewPathUPP( |
|
void * callBackDataPtr, |
|
ATSQuadraticNewPathUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSStatus) InvokeATSQuadraticNewPathUPP(void * callBackDataPtr, ATSQuadraticNewPathUPP userUPP) { return (*userUPP)(callBackDataPtr); } |
|
#else |
|
#define InvokeATSQuadraticNewPathUPP(callBackDataPtr, userUPP) (*userUPP)(callBackDataPtr) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeATSQuadraticClosePathUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
InvokeATSQuadraticClosePathUPP( |
|
void * callBackDataPtr, |
|
ATSQuadraticClosePathUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSStatus) InvokeATSQuadraticClosePathUPP(void * callBackDataPtr, ATSQuadraticClosePathUPP userUPP) { return (*userUPP)(callBackDataPtr); } |
|
#else |
|
#define InvokeATSQuadraticClosePathUPP(callBackDataPtr, userUPP) (*userUPP)(callBackDataPtr) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* ATSUGlyphGetQuadraticPaths() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 9.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGlyphGetQuadraticPaths( |
|
ATSUStyle iATSUStyle, |
|
GlyphID iGlyphID, |
|
ATSQuadraticNewPathUPP iNewPathProc, |
|
ATSQuadraticLineUPP iLineProc, |
|
ATSQuadraticCurveUPP iCurveProc, |
|
ATSQuadraticClosePathUPP iClosePathProc, |
|
void * iCallbackDataPtr, |
|
OSStatus * oCallbackResult); |
|
|
|
|
|
/* ATSUGlyphGetCubicPaths callbacks */ |
|
typedef CALLBACK_API( OSStatus , ATSCubicMoveToProcPtr )(const Float32Point *pt, void *callBackDataPtr); |
|
typedef CALLBACK_API( OSStatus , ATSCubicLineToProcPtr )(const Float32Point *pt, void *callBackDataPtr); |
|
typedef CALLBACK_API( OSStatus , ATSCubicCurveToProcPtr )(const Float32Point *pt1, const Float32Point *pt2, const Float32Point *pt3, void *callBackDataPtr); |
|
typedef CALLBACK_API( OSStatus , ATSCubicClosePathProcPtr )(void * callBackDataPtr); |
|
typedef TVECTOR_UPP_TYPE(ATSCubicMoveToProcPtr) ATSCubicMoveToUPP; |
|
typedef TVECTOR_UPP_TYPE(ATSCubicLineToProcPtr) ATSCubicLineToUPP; |
|
typedef TVECTOR_UPP_TYPE(ATSCubicCurveToProcPtr) ATSCubicCurveToUPP; |
|
typedef TVECTOR_UPP_TYPE(ATSCubicClosePathProcPtr) ATSCubicClosePathUPP; |
|
/* |
|
* NewATSCubicMoveToUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ATSCubicMoveToUPP ) |
|
NewATSCubicMoveToUPP(ATSCubicMoveToProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppATSCubicMoveToProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ATSCubicMoveToUPP) NewATSCubicMoveToUPP(ATSCubicMoveToProcPtr userRoutine) { return userRoutine; } |
|
#else |
|
#define NewATSCubicMoveToUPP(userRoutine) (userRoutine) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewATSCubicLineToUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ATSCubicLineToUPP ) |
|
NewATSCubicLineToUPP(ATSCubicLineToProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppATSCubicLineToProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ATSCubicLineToUPP) NewATSCubicLineToUPP(ATSCubicLineToProcPtr userRoutine) { return userRoutine; } |
|
#else |
|
#define NewATSCubicLineToUPP(userRoutine) (userRoutine) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewATSCubicCurveToUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ATSCubicCurveToUPP ) |
|
NewATSCubicCurveToUPP(ATSCubicCurveToProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppATSCubicCurveToProcInfo = 0x00003FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ATSCubicCurveToUPP) NewATSCubicCurveToUPP(ATSCubicCurveToProcPtr userRoutine) { return userRoutine; } |
|
#else |
|
#define NewATSCubicCurveToUPP(userRoutine) (userRoutine) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewATSCubicClosePathUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ATSCubicClosePathUPP ) |
|
NewATSCubicClosePathUPP(ATSCubicClosePathProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppATSCubicClosePathProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ATSCubicClosePathUPP) NewATSCubicClosePathUPP(ATSCubicClosePathProcPtr userRoutine) { return userRoutine; } |
|
#else |
|
#define NewATSCubicClosePathUPP(userRoutine) (userRoutine) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeATSCubicMoveToUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeATSCubicMoveToUPP(ATSCubicMoveToUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeATSCubicMoveToUPP(ATSCubicMoveToUPP) {} |
|
#else |
|
#define DisposeATSCubicMoveToUPP(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeATSCubicLineToUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeATSCubicLineToUPP(ATSCubicLineToUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeATSCubicLineToUPP(ATSCubicLineToUPP) {} |
|
#else |
|
#define DisposeATSCubicLineToUPP(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeATSCubicCurveToUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeATSCubicCurveToUPP(ATSCubicCurveToUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeATSCubicCurveToUPP(ATSCubicCurveToUPP) {} |
|
#else |
|
#define DisposeATSCubicCurveToUPP(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeATSCubicClosePathUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeATSCubicClosePathUPP(ATSCubicClosePathUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeATSCubicClosePathUPP(ATSCubicClosePathUPP) {} |
|
#else |
|
#define DisposeATSCubicClosePathUPP(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeATSCubicMoveToUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
InvokeATSCubicMoveToUPP( |
|
const Float32Point * pt, |
|
void * callBackDataPtr, |
|
ATSCubicMoveToUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSStatus) InvokeATSCubicMoveToUPP(const Float32Point * pt, void * callBackDataPtr, ATSCubicMoveToUPP userUPP) { return (*userUPP)(pt, callBackDataPtr); } |
|
#else |
|
#define InvokeATSCubicMoveToUPP(pt, callBackDataPtr, userUPP) (*userUPP)(pt, callBackDataPtr) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeATSCubicLineToUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
InvokeATSCubicLineToUPP( |
|
const Float32Point * pt, |
|
void * callBackDataPtr, |
|
ATSCubicLineToUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSStatus) InvokeATSCubicLineToUPP(const Float32Point * pt, void * callBackDataPtr, ATSCubicLineToUPP userUPP) { return (*userUPP)(pt, callBackDataPtr); } |
|
#else |
|
#define InvokeATSCubicLineToUPP(pt, callBackDataPtr, userUPP) (*userUPP)(pt, callBackDataPtr) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeATSCubicCurveToUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
InvokeATSCubicCurveToUPP( |
|
const Float32Point * pt1, |
|
const Float32Point * pt2, |
|
const Float32Point * pt3, |
|
void * callBackDataPtr, |
|
ATSCubicCurveToUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSStatus) InvokeATSCubicCurveToUPP(const Float32Point * pt1, const Float32Point * pt2, const Float32Point * pt3, void * callBackDataPtr, ATSCubicCurveToUPP userUPP) { return (*userUPP)(pt1, pt2, pt3, callBackDataPtr); } |
|
#else |
|
#define InvokeATSCubicCurveToUPP(pt1, pt2, pt3, callBackDataPtr, userUPP) (*userUPP)(pt1, pt2, pt3, callBackDataPtr) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeATSCubicClosePathUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
InvokeATSCubicClosePathUPP( |
|
void * callBackDataPtr, |
|
ATSCubicClosePathUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSStatus) InvokeATSCubicClosePathUPP(void * callBackDataPtr, ATSCubicClosePathUPP userUPP) { return (*userUPP)(callBackDataPtr); } |
|
#else |
|
#define InvokeATSCubicClosePathUPP(callBackDataPtr, userUPP) (*userUPP)(callBackDataPtr) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* ATSUGlyphGetCubicPaths() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 9.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGlyphGetCubicPaths( |
|
ATSUStyle iATSUStyle, |
|
GlyphID iGlyphID, |
|
ATSCubicMoveToUPP iMoveToProc, |
|
ATSCubicLineToUPP iLineToProc, |
|
ATSCubicCurveToUPP iCurveToProc, |
|
ATSCubicClosePathUPP iClosePathProc, |
|
void * iCallbackDataPtr, |
|
OSStatus * oCallbackResult); |
|
|
|
|
|
/* |
|
* ATSUGlyphGetCurvePaths() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in ATSUnicodeLib 9.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
ATSUGlyphGetCurvePaths( |
|
ATSUStyle iATSUStyle, |
|
GlyphID iGlyphID, |
|
ByteCount * ioBufferSize, |
|
ATSUCurvePaths * oPaths); |
|
|
|
|
|
|
|
|
|
#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
|
|
|