chore(macos): vendor system-sdk dependency

This commit is contained in:
2024-09-09 03:44:35 -05:00
parent 7f8d05101e
commit a50d52bae5
2634 changed files with 871615 additions and 1 deletions

View File

@@ -0,0 +1,172 @@
--- !tapi-tbd
tbd-version: 4
targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
uuids:
- target: x86_64-macos
value: 1284AFC2-E295-3154-8793-D2863F87F6CD
- target: x86_64-maccatalyst
value: 1284AFC2-E295-3154-8793-D2863F87F6CD
- target: arm64-macos
value: 00000000-0000-0000-0000-000000000000
- target: arm64-maccatalyst
value: 00000000-0000-0000-0000-000000000000
- target: arm64e-macos
value: FBB646C6-880A-38C4-A570-98BFAA69E62F
- target: arm64e-maccatalyst
value: FBB646C6-880A-38C4-A570-98BFAA69E62F
install-name: '/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS'
current-version: 236
parent-umbrella:
- targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst,
arm64e-macos, arm64e-maccatalyst ]
umbrella: ApplicationServices
exports:
- targets: [ x86_64-macos, arm64e-macos, x86_64-maccatalyst, arm64e-maccatalyst,
arm64-macos, arm64-maccatalyst ]
symbols: [ _AGAddAttribute, _AGBeginIteration, _AGComputeByteCapacity,
_AGComputeByteCapacityV, _AGComputeChecksum, _AGComputeIncrementalCapacity,
_AGComputeIncrementalCapacityV, _AGCongruent, _AGFindAttribute,
_AGGetChecksum, _AGGetLength, _AGGetType, _AGIdentical, _AGNextAttribute,
_AGPrepare, _AGSetTag, _AGSetType, _ATSAlloc, _ATSCleanupClient,
_ATSCopyFontForAutoActivationIfNecessary, _ATSCopySpecifiedSetting,
_ATSCreateFontQueryRunLoopSource, _ATSCreateUnicodeCharacterCoverage,
_ATSDebugAssert, _ATSDebugMsg, _ATSDebugStr, _ATSDisposeAllocator,
_ATSDuplicate, _ATSEnableURLs, _ATSFixedDivide, _ATSFixedMultiply,
_ATSFontAcquireStrikeDescription, _ATSFontAcquireStrikeDescriptionWithVariations,
_ATSFontActivateFromFileReference, _ATSFontActivateFromMemory,
_ATSFontActivateFromPath, _ATSFontApplyFunction, _ATSFontCanBeAutoActivated,
_ATSFontConvertFromQuickDrawFont, _ATSFontConvertToQuickDrawFont,
_ATSFontCopyAutoActivationConfirmDialogResult, _ATSFontCopyLWFNsFromSuitcase,
_ATSFontCopyMDQueryResult, _ATSFontCopyPostSriptNameAndFindSuitcaseFromLWFN,
_ATSFontCopySuitcaseFromLWFN, _ATSFontCreateFPFont, _ATSFontCreateFontName,
_ATSFontCreateLocalizedFontName, _ATSFontDeactivate, _ATSFontFamilyApplyFunction,
_ATSFontFamilyFindFromName, _ATSFontFamilyFindFromQuickDrawName,
_ATSFontFamilyGetEncoding, _ATSFontFamilyGetGeneration, _ATSFontFamilyGetName,
_ATSFontFamilyGetQuickDrawName, _ATSFontFamilyIteratorCreate,
_ATSFontFamilyIteratorNext, _ATSFontFamilyIteratorRelease,
_ATSFontFamilyIteratorReset, _ATSFontFindFontFor, _ATSFontFindFromContainer,
_ATSFontFindFromFontIdentifier, _ATSFontFindFromName, _ATSFontFindFromPostScriptName,
_ATSFontFindSuitcaseFromLWFN, _ATSFontFindVariationFromPostScriptName,
_ATSFontFindWithROS, _ATSFontGetAutoActivationSettingForApplication,
_ATSFontGetContainer, _ATSFontGetContainerFromFileReference,
_ATSFontGetContainerFromPath, _ATSFontGetContainerInfo, _ATSFontGetEncoding,
_ATSFontGetFilePath, _ATSFontGetFileReference, _ATSFontGetFileReferenceForXType,
_ATSFontGetFontFamilyResource, _ATSFontGetFontIdentifier,
_ATSFontGetFormat, _ATSFontGetGeneration, _ATSFontGetGlobalAutoActivationSetting,
_ATSFontGetGlyphCount, _ATSFontGetGlyphIDsForGlyphNames, _ATSFontGetHorizontalMetrics,
_ATSFontGetHorizontalMetricsWithVariation, _ATSFontGetMaximumBoundingBox,
_ATSFontGetName, _ATSFontGetNativeCurveType, _ATSFontGetPSEncoding,
_ATSFontGetPostScriptName, _ATSFontGetPostScriptNameWithVariation,
_ATSFontGetStandardFontDirectories, _ATSFontGetTable, _ATSFontGetTableDirectory,
_ATSFontGetUnicodeCharacterCoverage, _ATSFontGetVerticalMetrics,
_ATSFontIsEnabled, _ATSFontIsInitialized, _ATSFontIsStandardFontDirectory,
_ATSFontIteratorCreate, _ATSFontIteratorNext, _ATSFontIteratorRelease,
_ATSFontIteratorReset, _ATSFontLoadUnicodeCharacterSet, _ATSFontNotificationSubscribe,
_ATSFontNotificationUnsubscribe, _ATSFontNotify, _ATSFontQueryHasHandler,
_ATSFontReleaseStrikeDescription, _ATSFontSetAutoActivationSettingForApplication,
_ATSFontSetEnabled, _ATSFontSetGlobalAutoActivationSetting,
_ATSFontSetStrikeTransform, _ATSFontValidate, _ATSFree, _ATSGetAllocator,
_ATSGetBlockSize, _ATSGetFontFileInfo, _ATSGetGeneration,
_ATSGlyphFindFromName, _ATSGlyphGetAdvanceWidth, _ATSGlyphGetBoundingBox,
_ATSGlyphGetIdealMetrics, _ATSGlyphGetMaximumNameLength, _ATSGlyphGetName,
_ATSGlyphGetScreenMetrics, _ATSGlyphGetUnicodeCharacter, _ATSGrow,
_ATSInitClient, _ATSIsFontFile, _ATSIsFontFileX, _ATSLoadUnicodeCharacterSet,
_ATSMagnitude, _ATSMultiplyDivide, _ATSNewAppHeapAllocator,
_ATSNewBufferAllocator, _ATSNewCustomAllocator, _ATSNewGlobalCacheAllocator,
_ATSNewPoolAllocator, _ATSNewScratchAllocator, _ATSRegisterData,
_ATSRegisterURLs, _ATSSendFontQuery, _CopyToMapping3x3, _FOActivateFontsFromMemory,
_FOApplyEncoding, _FOApplyEncodingForLayout, _FOApplyUnicodeEncoding,
_FOCanCreatePDFSubset, _FOCanCreatePostScriptSubset, _FOCopyFontMetaData,
_FOCopyVariationInfo, _FOCopyXMLSplicedFontsStash, _FOCountEncodings,
_FOCountFontObjects, _FOCountGlyphs, _FOCountNames, _FOCountTables,
_FOCountVariations, _FOCreateContainerFontMap, _FOCreateFontContainerArrayForDomain,
_FOCreateFontFamilyInstanceIterWithOptions, _FOCreateFontFamilyInstanceIterator,
_FOCreateFontFamilyIterator, _FOCreateFontIterator, _FOCreatePDFSubset,
_FOCreatePostScriptEncoding, _FOCreatePostScriptSubset, _FODBDumpForFileToken,
_FODeactivateFontsInContainer, _FODisableFontObject, _FODisposeFontFamilyInstanceIterator,
_FODisposeFontFamilyIterator, _FODisposeFontIterator, _FOEnableFontObject,
_FOEnsureMorphSynthesis, _FOFindEncoding, _FOFindFontIDFromName,
_FOFindFontObjectFromID, _FOFindFontObjectsFromFile, _FOFindName,
_FOFindTable, _FOFindTableInCache, _FOFindTableIndex, _FOFindTableParts,
_FOFindUnicodeEncoding, _FOFindUnicodeOrSymbolEncoding, _FOFlushCaches,
_FOGetContainerFromFSRef, _FOGetDirectory, _FOGetEncoding,
_FOGetFCacheGeneration, _FOGetFSRefFromFontContainer, _FOGetFamilyInstanceStrikeInfo,
_FOGetFlags, _FOGetFontFamilyCount, _FOGetFontFamilyFromName,
_FOGetFontFamilyGeneration, _FOGetFontFamilyInstanceFromFont,
_FOGetFontFamilyName, _FOGetFontFamilyScriptFlags, _FOGetFontFamilyTextEncoding,
_FOGetFontFolderDomainIndex, _FOGetFontFromFontFamilyInstance,
_FOGetFontFromFontFamilyInstanceVariation, _FOGetFontGeneration,
_FOGetFontID, _FOGetFontObject, _FOGetFontProtectionInfo,
_FOGetFontRegisterOrderSupplement, _FOGetFontSpecs, _FOGetFontTable,
_FOGetFontTableDirectory, _FOGetFontTraits, _FOGetFontType,
_FOGetFormat, _FOGetGeneration, _FOGetLayoutFlags, _FOGetMacintoshEncodings,
_FOGetMinRealFontSize, _FOGetNFNT, _FOGetName, _FOGetNextExtendedFontFamilyInstance,
_FOGetNextFont, _FOGetNextFontFamily, _FOGetNextFontFamilyInstance,
_FOGetPersistentData, _FOGetSpecialGlyphIDs, _FOGetStorageReference,
_FOGetTable, _FOGetTableParts, _FOGetTableTag, _FOGetUnitsPerEm,
_FOGetWeightValueFromFontName, _FOHasVariations, _FOIsAppleSystemShippedFont,
_FOIsInMemoryFont, _FOIsXMLSplicedFontObject, _FOMapCIDToGID,
_FOMapGIDToCID, _FOMatchName, _FOReadTableBytes, _FOReleaseDirectory,
_FOReleaseFontResource, _FOReleaseNFNT, _FOReleasePersistentData,
_FOReleaseTable, _FOResetFontFamilyInstanceIterWithOptions,
_FOResetFontFamilyInstanceIterator, _FOResetFontFamilyIterator,
_FOResetFontIterator, _FOSavePersistentData, _FOScanFontDirectories,
_FOSetFlags, _FOSetPreserveGlyphForATS, _FOSynthesizeTable,
_FOUnlockFontObject, _GCCompareStrikeKeys, _GCCreateStrikeKey,
_GCCreateStrikeKeyWithVariation, _GCGetGlyph1BitBitmap, _GCGetGlyph4BitGrayPixmap,
_GCGetGlyph8BitGrayPixmap, _GCGetGlyphARGBGrayPixmap, _GCGetGlyphCubicOutlinePath,
_GCGetGlyphDeviceMetrics, _GCGetGlyphIdealMetrics, _GCGetGlyphNativeOutlinePath,
_GCGetGlyphQuadraticOutlinePath, _GCGetStrikeCaretInfo, _GCGetStrikeInfo,
_GCGetStrikeLineMetrics, _GCGetStrikeMetrics, _GCReleaseStrikeKey,
_GetGlyphAddresses, _GetGlyphVectorIndex, _GetGlyphVectorSpecs,
_GetHighByteArrayForScript, _HandleOFAScalerMessage, _INIT_ATS,
_InvertMapping3x3, _LLCAddOTLTagsToGlyphRange, _LLCApplyMorph,
_LLCCharOffsetToPosition, _LLCDoLigatureCaretSplits, _LLCFreeGlyphRecs,
_LLCGetBaselineDeltas, _LLCGetOTLTagsForGlyphAtIndex, _LLCGetTrapezoids,
_LLCGrowGlyphRecArray, _LLCHitTest, _LLCLayoutText, _LLCSetOTLScriptLanguageArray,
_LLCSetUniformOTLScriptLanguage, _LLCStyleInfoCheckForOpenTypeTables,
_LLCStyleInfoClear, _LLCStyleInfoConstructVirtualGlyphTable,
_LLCStyleInfoCopy, _LLCStyleInfoCreateActiveStyleInfo, _LLCStyleInfoCreateCustomTagList,
_LLCStyleInfoCreateScaledStrikeKey, _LLCStyleInfoGetAdditionalAttribute,
_LLCStyleInfoGetAdditionalAttributeObject, _LLCStyleInfoGetAscent,
_LLCStyleInfoGetDescent, _LLCStyleInfoGetDropShadowColor,
_LLCStyleInfoGetItalicSkewAffineTransform, _LLCStyleInfoGetLeading,
_LLCStyleInfoGetUserRunFeatures, _LLCStyleInfoIdentical, _LLCStyleInfoReleaseActive,
_LLCStyleInfoRemoveAdditionalAttribute, _LLCStyleInfoSetAdditionalAttribute,
_LLCStyleInfoSetAdditionalAttributeObject, _LLCStyleInfoSynthesizeStrikeDescription,
_M3x3Concat, _M3x3Copy, _M3x3Flags, _M3x3Inverse, _M3x3Mul,
_M3x3Normalize, _MapMapping3x3, _MapPoints3x3, _OFAFindScalerForFormat,
_OFAFlatteningDownload, _OFAFlatteningRequiredFontsQuery,
_OFAFlatteningSizeQuery, _OFAFontRenderingQuery, _OFAGetFontMetrics,
_OFAGetFontSpecs, _OFAGetGlyphData, _OFAGetGlyphDataSpecs,
_OFAGetGlyphIDFromGlyphName, _OFAGetGlyphNameFromGlyphID,
_OFAGetQuickDrawMetrics, _OFAGetScalerInfo, _OFAGetStrikeSpecs,
_OFAKernGlyphs, _OFARegisterStrike, _OFASendGeneralMessage,
_OFAStreamPSDownload, _OFAStreamPSEncoding, _OFAStreamPSPrereqItem,
_OFAStreamPSPrereqQuery, _OFAStreamPSSizeQuery, _OFAStreamPSVariationOperator,
_OFAStreamPSVariationQuery, _OFAStreamTypeQuery, _PurgeGlyphVectorIndex,
_ReleaseGlyphVectorLock, _ResetMapping3x3, _ScaleMapping3x3,
_StandardFontContainerFontFilter, _StandardFontTechnologyFontFilter,
_StandardGenerationFontFamilyFilter, _StandardGenerationFontFilter,
_ValidGlyphVectorIndex, _gComboMxBmapAGPtr, _gDevAntiAGPtr,
_gDevAntiPathAGPtr, _gDevBmapAGPtr, _gDevPathAGPtr, _gFracAntiAGPtr,
_gFracBmapAGPtr, _gImageAntiAGPtr, _gImageBmapAGPtr, _gImageCubicPathAGPtr,
_gImagePathAGPtr, _identityMatrix, _kATSAutoActivationConfirmDontShowAgainKey,
_kATSAutoActivationConfirmResultKey, _kATSValidationActivationInfo,
_kATSValidationActivationInfoKeep, _kATSValidationDontRunHiLevelAPITests,
_kATSValidationDynamicActivationInfo, _kATSValidationDynamicGlyphTests,
_kATSValidationFontMD5, _kATSValidationFontSummaryOnly, _kATSValidationGenerateFontChecksum,
_kATSValidationIgnoreDumpFiles, _kATSValidationIgnoreErrors,
_kATSValidationOverallResult, _kATSValidationPostScriptName,
_kATSValidationResults, _kATSValidationRuleAuthor, _kATSValidationRuleComponents,
_kATSValidationRuleCoverage, _kATSValidationRuleDescription,
_kATSValidationRuleFormat, _kATSValidationRuleName, _kATSValidationRulePriority,
_kATSValidationRuleResult, _kATSValidationRuleSeverity, _kATSValidationRuleVersion,
_kATSValidationRulesList, _kATSValidationRunDynamic, _kATSValidationSkipDuplicateFontCheck,
_kATSValidationTestsFailed, _kATSValidationTestsPassed, _kATSValidationTestsRun,
_kATSValidationTestsWarned, _kFOComponentsKey, _kFOFontMetricsKey,
_kFOFontNameKey, _kFOFontNamesArrayKey, _kFOFontVersionKey,
_kFOLanguageKey, _kFOMatrixKey, _kFOPosingFontKey, _kFOStringKey,
_kFOTypeKey, _kFOUnicodeCharSetKey, _kFOcmapOverrideKey ]
...

View File

@@ -0,0 +1,49 @@
/*
File: ATS/ATS.h
Contains: Master include for ATS private framework
Version: ATS
Copyright: (c) 1999-2012 by Apple Inc., all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATS__
#define __ATS__
#ifndef __CORESERVICES__
#include <CoreServices/CoreServices.h>
#endif
#ifndef __ATSDEFINES__
#include <ATS/ATSDefines.h>
#endif
#ifndef __ATSLAYOUTTYPES__
#include <ATS/ATSLayoutTypes.h>
#endif
#ifndef __ATSFONT__
#include <ATS/ATSFont.h>
#endif
#ifndef __ATSTYPES__
#include <ATS/ATSTypes.h>
#endif
#ifndef __SFNTLAYOUTTYPES__
#include <ATS/SFNTLayoutTypes.h>
#endif
#ifndef __SFNTTYPES__
#include <ATS/SFNTTypes.h>
#endif
#endif /* __ATS__ */

View File

@@ -0,0 +1,26 @@
/*
File: ATS.r
Contains: Master include for ATS private framework
Version: ATS
Copyright: <20> 1999-2012 by Apple Inc., all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATS_R__
#define __ATS_R__
#ifndef __CORESERVICES_R__
#include <CoreServices/CoreServices.r>
#endif
#endif /* __ATS_R__ */

View File

@@ -0,0 +1,49 @@
//
// ATSDefines.h
// ATS
//
// Copyright (c) 2011-2019 Apple Inc. All rights reserved.
//
#ifndef __ATSDEFINES__
#define __ATSDEFINES__
#if defined(BUILDING_ATS)
# define ATS_AVAILABLE_BUT_DEPRECATED_WITH_ADVICE(_mac,_macDep,_deprecationAdvice)
# define ATS_AVAILABLE_BUT_DEPRECATED(_mac,_macDep)
# define ATS_DEPRECATED_IN_MAC_OS_X_VERSION(_macDep) // For types
#elif defined(__has_extension) /* defined(BUILDING_ATS) */
# if __has_extension(attribute_deprecated_with_message)
# define ATS_AVAILABLE_BUT_DEPRECATED_WITH_ADVICE(_mac,_macDep,_deprecationAdvice) __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_##_mac,__MAC_##_macDep, __IPHONE_NA, __IPHONE_NA, _deprecationAdvice)
# endif /*__has_extension(attribute_deprecated_with_message) */
#endif /* defined(__has_extension)*/ /* defined(BUILDING_ATS) */
#if !defined(ATS_AVAILABLE_BUT_DEPRECATED_WITH_ADVICE)
# include <Availability.h>
# if defined(__MAC_10_8)
# define ATS_AVAILABLE_BUT_DEPRECATED_WITH_ADVICE(_mac,_macDep,_deprecationAdvice) AVAILABLE_MAC_OS_X_VERSION_##_mac##_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_##_macDep
# else
# define ATS_AVAILABLE_BUT_DEPRECATED_WITH_ADVICE(_mac,_macDep,_deprecationAdvice) AVAILABLE_MAC_OS_X_VERSION_##_mac##_AND_LATER
# endif
#endif
#if !defined(ATS_AVAILABLE_BUT_DEPRECATED)
# include <Availability.h>
# if defined(__MAC_10_8)
# define ATS_AVAILABLE_BUT_DEPRECATED(_mac,_macDep) AVAILABLE_MAC_OS_X_VERSION_##_mac##_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_##_macDep
# else
# define ATS_AVAILABLE_BUT_DEPRECATED(_mac,_macDep) AVAILABLE_MAC_OS_X_VERSION_##_mac##_AND_LATER
# endif
#endif
#if !defined(ATS_DEPRECATED_IN_MAC_OS_X_VERSION)
# define ATS_DEPRECATED_IN_MAC_OS_X_VERSION(_macDep) DEPRECATED_IN_MAC_OS_X_VERSION_##_macDep##_AND_LATER
#endif
#if (TARGET_OS_MAC && !(TARGET_OS_EMBEDDED || TARGET_OS_IPHONE)) || (TARGET_OS_EMBEDDED || TARGET_OS_IPHONE)
# define ATS_LEGACY_API 1
#else
# define ATS_LEGACY_API 0
#endif // (TARGET_OS_MAC && !(TARGET_OS_EMBEDDED || TARGET_OS_IPHONE)) || (TARGET_OS_EMBEDDED || TARGET_OS_IPHONE)
#endif //__ATSDEFINES__

View File

@@ -0,0 +1,692 @@
/*
File: ATS/ATSLayoutTypes.h
Contains: Apple Type Services layout public structures and constants.
Version: ATS
Copyright: (c) 1994-2018 by Apple Inc., all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATSLAYOUTTYPES__
#define __ATSLAYOUTTYPES__
#ifndef __CORESERVICES__
#include <CoreServices/CoreServices.h>
#endif
#ifndef __SFNTLAYOUTTYPES__
#include <ATS/SFNTLayoutTypes.h>
#endif
#ifndef __ATSTYPES__
#include <ATS/ATSTypes.h>
#endif
#include <AvailabilityMacros.h>
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
#pragma pack(push, 2)
/* --------------------------------------------------------------------------- */
/* CONSTANTS and related scalar types */
/* --------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------- */
/* Miscellaneous Constants */
/* --------------------------------------------------------------------------- */
enum {
kATSUseGlyphAdvance = 0x7FFFFFFF, /* assignment to use natural glyph advance value */
kATSUseLineHeight = 0x7FFFFFFF, /* assignment to use natural line ascent/descent values */
kATSNoTracking = (int)0x80000000 /* negativeInfinity */
};
/* --------------------------------------------------------------------------- */
/*
* Summary:
* These values are passed into the ATSUGetGlyphBounds function to
* indicate whether the width of the resulting typographic glyph
* bounds will be determined using the caret origin, glyph origin in
* device space, or glyph origin in fractional absolute positions
*/
enum {
/*
* Specifies that the width of the typographic glyph bounds will be
* determined using the caret origin. The caret origin is halfway
* between two characters.
*/
kATSUseCaretOrigins = 0,
/*
* Specifies that the width of the typographic glyph bounds will be
* determined using the glyph origin in device space. This is useful
* for adjusting text on the screen.
*/
kATSUseDeviceOrigins = 1,
/*
* Specifies that the width of the typographic glyph bounds will be
* determined using the glyph origin in fractional absolute
* positions, which are uncorrected for device display. This provides
* the ideal position of laid-out text and is useful for scaling text
* on the screen. This origin is also used to get the width of the
* typographic bounding rectangle when you call ATSUMeasureText.
*/
kATSUseFractionalOrigins = 2,
kATSUseOriginFlags = 3
};
/* ---------------------------------------------------------------------------- */
/*
* ATSULayoutOperationSelector
*
* Summary:
* This is used to select which operations to override, or which
* operation is currently being run.
*/
typedef UInt32 ATSULayoutOperationSelector;
enum {
/*
* No Layout operation is currently selected.
*/
kATSULayoutOperationNone = 0x00000000,
/*
* Select the Justification operation.
*/
kATSULayoutOperationJustification = 0x00000001,
/*
* Select the character morphing operation.
*/
kATSULayoutOperationMorph = 0x00000002,
/*
* Select the kerning adjustment operation.
*/
kATSULayoutOperationKerningAdjustment = 0x00000004,
/*
* Select the baseline adjustment operation.
*/
kATSULayoutOperationBaselineAdjustment = 0x00000008,
/*
* Select the tracking adjustment operation.
*/
kATSULayoutOperationTrackingAdjustment = 0x00000010,
/*
* Select the period of time after ATSUI has finished all of it's
* layout operations.
*/
kATSULayoutOperationPostLayoutAdjustment = 0x00000020,
kATSULayoutOperationAppleReserved = (UInt32)0xFFFFFFC0
};
/* ---------------------------------------------------------------------------- */
/*
* ATSULayoutOperationCallbackStatus
*
* Summary:
* One of these must be returned by a
* ATSUDLayoutOperationOverrideUPP callback function in order to
* indicate ATSUI's status.
*/
typedef UInt32 ATSULayoutOperationCallbackStatus;
enum {
/*
* Return this if the callback function has totally handled the
* operation which triggered the callback and does not need ATSUI to
* run any further processing for the operation.
*/
kATSULayoutOperationCallbackStatusHandled = 0x00000000,
/*
* Return this if the callback function has not totally handled the
* operation which triggered the callback and needs ATSUI to run it's
* own processing.
*/
kATSULayoutOperationCallbackStatusContinue = 0x00000001
};
/* ---------------------------------------------------------------------------- */
/*
* ATSLineLayoutOptions
*
* Summary:
* ATSLineLayoutOptions are normally set in an ATSUTextLayout object
* via the kATSULineLayoutOptionsTag layout control attribute. They
* can also be set in an ATSLineLayoutParams structure.
*/
typedef UInt32 ATSLineLayoutOptions;
enum {
/*
* No options specified.
*/
kATSLineNoLayoutOptions = 0x00000000,
/*
* This line option is no longer used.
*/
kATSLineIsDisplayOnly = 0x00000001, /* obsolete option*/
/*
* Specifies that no hangers to be formed on the line.
*/
kATSLineHasNoHangers = 0x00000002,
/*
* Specifies that no optical alignment to be performed on the line.
*/
kATSLineHasNoOpticalAlignment = 0x00000004,
/*
* Specifies that space charcters should not be treated as hangers.
*/
kATSLineKeepSpacesOutOfMargin = 0x00000008,
/*
* Specifies no post-compensation justification is to be performed.
*/
kATSLineNoSpecialJustification = 0x00000010,
/*
* Specifies that if the line is the last of a paragraph, it will not
* get justified.
*/
kATSLineLastNoJustification = 0x00000020,
/*
* Specifies that the displayed line glyphs will adjust for device
* metrics.
*/
kATSLineFractDisable = 0x00000040,
/*
* Specifies that the carets at the ends of the line will be
* guarenteed to be perpendicular to the baseline.
*/
kATSLineImposeNoAngleForEnds = 0x00000080,
/*
* Highlights for the line end characters will be extended to 0 and
* the specified line width.
*/
kATSLineFillOutToWidth = 0x00000100,
/*
* Specifies that the tab character width will be automatically
* adjusted to fit the specified line width.
*/
kATSLineTabAdjustEnabled = 0x00000200,
/*
* Specifies that any leading value specified by a font will be
* ignored.
*/
kATSLineIgnoreFontLeading = 0x00000400,
/*
* Specifies that ATS produce antialiased glyph images despite system
* preferences (negates kATSLineNoAntiAliasing bit if set).
*/
kATSLineApplyAntiAliasing = 0x00000800,
/*
* Specifies that ATS turn-off antialiasing glyph imaging despite
* system preferences (negates kATSLineApplyAntiAliasing bit if set).
*/
kATSLineNoAntiAliasing = 0x00001000,
/*
* Specifies that if the line width is not sufficient to hold all its
* glyphs, glyph positions are allowed to extend beyond the line's
* assigned width so negative justification is not used.
*/
kATSLineDisableNegativeJustification = 0x00002000,
/*
* Specifies that lines with any integer glyph positioning (due to
* either any character non-antialiased or kATSLineFractDisable
* specified), not automatically esthetically adjust individual
* character positions while rendering to display.
*/
kATSLineDisableAutoAdjustDisplayPos = 0x00004000,
/*
* Specifies that rendering be done simulating Quickdraw rendering
* (4-bit pixel aligned antialiasing).
*/
kATSLineUseQDRendering = 0x00008000,
/*
* Specifies that any Justification operations will not be run.
*/
kATSLineDisableAllJustification = 0x00010000,
/*
* Specifies that any glyph morphing operations will not be run.
*/
kATSLineDisableAllGlyphMorphing = 0x00020000,
/*
* Specifies that any kerning adjustment operations will not be run.
*/
kATSLineDisableAllKerningAdjustments = 0x00040000,
/*
* Specifies that any baseline adjustment operations will not be run.
*/
kATSLineDisableAllBaselineAdjustments = 0x00080000,
/*
* Specifies that any tracking adjustment operations will not be run.
*/
kATSLineDisableAllTrackingAdjustments = 0x00100000,
/*
* Convenience constant for turning-off all adjustments.
*/
kATSLineDisableAllLayoutOperations = kATSLineDisableAllJustification | kATSLineDisableAllGlyphMorphing | kATSLineDisableAllKerningAdjustments | kATSLineDisableAllBaselineAdjustments | kATSLineDisableAllTrackingAdjustments,
/*
* Specifies to optimize for displaying text only. Note, rounded
* device metrics will be used instead of fractional path metrics.
*/
kATSLineUseDeviceMetrics = 0x01000000,
/*
* Specifies that line breaking should occur at the nearest
* character, not word. This could cause a word to be split among
* multiple lines.
*/
kATSLineBreakToNearestCharacter = 0x02000000,
/*
* These bits are reserved by Apple and will result in a invalid
* value error if attemped to set. Obsolete constants:
*/
kATSLineAppleReserved = (UInt32)0xFCE00000
};
/* --------------------------------------------------------------------------- */
/*
* ATSStyleRenderingOptions
*
* Summary:
* ATSStyleRenderingOptions are set in the ATSUStyle object via the
* attribute tag kATSUStyleRenderingOptions. They provide finer
* control over how the style is rendered.
*/
typedef UInt32 ATSStyleRenderingOptions;
enum {
/*
* No options specified.
*/
kATSStyleNoOptions = 0x00000000,
/*
* Specifies that ATS produce "unhinted" glyph outlines (default is
* hinted glyph outlines).
*/
kATSStyleNoHinting = 0x00000001,
/*
* Specifies that ATS produce antialiased glyph images despite system
* preferences or LineLayoutOptions (negates kATSStyleNoAntiAliasing
* bit if set).
*/
kATSStyleApplyAntiAliasing = 0x00000002,
/*
* Specifies that ATS turn-off antialiasing glyph imaging despite
* system preferences or LineLayoutOptions (negates
* kATSStyleApplyAntiAliasing bit if set).
*/
kATSStyleNoAntiAliasing = 0x00000004,
/*
* These bits are reserved by Apple and will result in a invalid
* value error if attemped to set.
*/
kATSStyleAppleReserved = (UInt32)0xFFFFFFF8,
/*
* (OBSOLETE) Specifies that ATS produce "hinted" glyph outlines (the
* default behavior). THIS NAME IS OBSOLETE. DO NOT USE. It's only
* left in for backwards compatibility.
*/
kATSStyleApplyHints = kATSStyleNoOptions
};
/* --------------------------------------------------------------------------- */
/*
* ATSGlyphInfoFlags
*
* Summary:
* ATSGlyphInfoFlags are set in the individual ATSLayoutRecord
* structures and apply only to the ATSGlyphRef in that structure.
* The are used by the layout engine to flag a glyph with specific
* properties.
*/
typedef UInt32 ATSGlyphInfoFlags;
enum {
/*
* These bits are Apple reserved and may result in an invalid value
* error if attempted to set.
*/
kATSGlyphInfoAppleReserved = 0x1FFBFFE8,
/*
* The glyph attaches to another glyph.
*/
kATSGlyphInfoIsAttachment = (UInt32)0x80000000,
/*
* The glyph can hang off left/top edge of line.
*/
kATSGlyphInfoIsLTHanger = 0x40000000,
/*
* The glyph can hang off right/bottom edge of line.
*/
kATSGlyphInfoIsRBHanger = 0x20000000,
/*
* The glyph is not really a glyph at all, but an end-marker designed
* to allow the calculation of the previous glyph's advance.
*/
kATSGlyphInfoTerminatorGlyph = 0x00080000,
/*
* The glyph is a white space glyph.
*/
kATSGlyphInfoIsWhiteSpace = 0x00040000,
/*
* Glyph has a style specified imposed width (i.e. advance)
*/
kATSGlyphInfoHasImposedWidth = 0x00000010,
/*
* A three-bit mask, that can be used to get the size of the original
* character that spawned this glyph. When a logical 'and' operation
* with this mask and an ATSGlyphInfoFlags variable, it will yield
* the size in bytes of the original character (0 - 7 bytes possible).
*/
kATSGlyphInfoByteSizeMask = 0x00000007
};
/* --------------------------------------------------------------------------- */
/* STRUCTURED TYPES and related constants */
/* --------------------------------------------------------------------------- */
/*
* ATSLayoutRecord
*
* Summary:
* The ATSLayoutRecord structure defines all the needed info for a
* single glyph during the layout process. This struct must be
* declared as the first element of an enclosing glyph record struct
* defined by ATSUI DirectAccess clients.
*/
struct ATSLayoutRecord {
/*
* The glyph ID reference.
*/
ATSGlyphRef glyphID;
/*
* These flags describe the individual state of the glyph (see above).
*/
ATSGlyphInfoFlags flags;
/*
* The byte offset of the original character that spawned this glyph.
*/
ByteCount originalOffset;
/*
* This is the real position that the glyph sits.
*/
Fixed realPos;
};
typedef struct ATSLayoutRecord ATSLayoutRecord;
/* --------------------------------------------------------------------------- */
/*
* ATSTrapezoid
*
* Summary:
* The ATSTrapezoid structure supplies a convenient container for
* glyph bounds in trapezoidal form.
*/
struct ATSTrapezoid {
FixedPoint upperLeft;
FixedPoint upperRight;
FixedPoint lowerRight;
FixedPoint lowerLeft;
};
typedef struct ATSTrapezoid ATSTrapezoid;
/* --------------------------------------------------------------------------- */
/*
* ATSJustWidthDeltaEntryOverride
*
* Summary:
* The JustWidthDeltaEntryOverride structure specifies values for
* the grow and shrink case during justification, both on the left
* and on the right. It also contains flags. This particular
* structure is used for passing justification overrides to LLC. For
* further sfnt resource 'just' table constants and structures, see
* SFNTLayoutTypes.h.
*/
struct ATSJustWidthDeltaEntryOverride {
/*
* ems AW can grow by at most on LT
*/
Fixed beforeGrowLimit;
/*
* ems AW can shrink by at most on LT
*/
Fixed beforeShrinkLimit;
/*
* ems AW can grow by at most on RB
*/
Fixed afterGrowLimit;
/*
* ems AW can shrink by at most on RB
*/
Fixed afterShrinkLimit;
/*
* flags controlling grow case
*/
JustificationFlags growFlags;
/*
* flags controlling shrink case
*/
JustificationFlags shrinkFlags;
};
typedef struct ATSJustWidthDeltaEntryOverride ATSJustWidthDeltaEntryOverride;
/* The JustPriorityOverrides type is an array of 4 width delta records, one per priority level override. */
typedef ATSJustWidthDeltaEntryOverride ATSJustPriorityWidthDeltaOverrides[4];
/* ---------------------------------------------------------------------------- */
#if ATS_LEGACY_API
/*
* ATSULineRef
*
* Summary:
* A reference to a line that is being laid out. This is passed into
* the ATSUDirectLayoutOperationOverrideUPP callback function to be
* used by the ATSUDirectGetLayoutDataArrayPtrFromLineRef function.
* The only way to get a line ref is inside of the callback. The
* only time the line ref is valid is inside of the callback.
*/
typedef struct ATSGlyphVector* ATSULineRef;
/* ---------------------------------------------------------------------------- */
/* DirectAccess Layout Callback Definitions */
/* ---------------------------------------------------------------------------- */
/*
* ATSUDirectLayoutOperationOverrideProcPtr
*
* Summary:
* Callback definition for a low-level adjustment routine hook.
*
* Discussion:
* This callback can be set in an ATSUTextLayout object by setting
* the attribute tag kATSULayoutOperationOverrideTag and passing in
* a ATSULayoutOperationOverrideSpecifier structure into
* ATSUSetLayoutAttribute. This callback will be called whenever an
* ATSUI call triggers a re-layout for each operation it is
* installed for. The operation that triggered the callback will be
* set in the iCurrentOperation parameter. The callback function
* defined by the developer is only required to do one thing: return
* it's status to ATSUI as to what it has done. This is done via the
* oCallbackStatus parameter. It needs to tell ATSUI if it had
* handled the layout operation or if it still needs ATSUI to run
* it's own processes. iOperationCallbackParameterPtr is there in
* case there are ever any ATSUDirectLayoutOperationSelector which
* require extra parameters to be passed into the callback function.
* It is currently unused and will always be set to NULL. iRefCon is
* the constant that is set in the ATSUTextLayout object that
* spawned the operation by the ATSUSetTextLayoutRefCon() API.
* Within the context of the callback itself, only a limited subset
* of ATSUI APIs may be called. Basically, only the APIs that have
* no chance of triggering a re-layout are allowed to be called. The
* reason for this restriction is to prevent runaway recursion. Most
* of the APIs that have "create", "get", or "copy" are safe. Any
* attempt to call one of the restricted APIs will result in an
* immediate return with the kATSUInvalidCallInsideCallbackErr
* error. ATSULayoutOperationSelector and
* ATSULayoutOperationCallbackStatus are defined in ATSLayoutTypes.i.
*/
typedef CALLBACK_API_C( OSStatus , ATSUDirectLayoutOperationOverrideProcPtr )(ATSULayoutOperationSelector iCurrentOperation, ATSULineRef iLineRef, URefCon iRefCon, void *iOperationCallbackParameterPtr, ATSULayoutOperationCallbackStatus *oCallbackStatus);
typedef STACK_UPP_TYPE(ATSUDirectLayoutOperationOverrideProcPtr) ATSUDirectLayoutOperationOverrideUPP;
/*
* NewATSUDirectLayoutOperationOverrideUPP()
*
* Availability:
* Mac OS X: in version 10.2 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
* Non-Carbon CFM: available as macro/inline
*/
#if !__LP64__
extern ATSUDirectLayoutOperationOverrideUPP
NewATSUDirectLayoutOperationOverrideUPP(ATSUDirectLayoutOperationOverrideProcPtr userRoutine) AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7;
#endif // !__LP64
/*
* DisposeATSUDirectLayoutOperationOverrideUPP()
*
* Availability:
* Mac OS X: in version 10.2 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
* Non-Carbon CFM: available as macro/inline
*/
#if !__LP64__
extern void
DisposeATSUDirectLayoutOperationOverrideUPP(ATSUDirectLayoutOperationOverrideUPP userUPP) AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7;
#endif // !__LP64
/*
* InvokeATSUDirectLayoutOperationOverrideUPP()
*
* Availability:
* Mac OS X: in version 10.2 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
* Non-Carbon CFM: available as macro/inline
*/
#if !__LP64__
extern OSStatus
InvokeATSUDirectLayoutOperationOverrideUPP(
ATSULayoutOperationSelector iCurrentOperation,
ATSULineRef iLineRef,
URefCon iRefCon,
void * iOperationCallbackParameterPtr,
ATSULayoutOperationCallbackStatus * oCallbackStatus,
ATSUDirectLayoutOperationOverrideUPP userUPP) AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7;
#endif // !__LP64
#if __MACH__
#ifdef __cplusplus
inline ATSUDirectLayoutOperationOverrideUPP NewATSUDirectLayoutOperationOverrideUPP(ATSUDirectLayoutOperationOverrideProcPtr userRoutine) { return userRoutine; }
inline void DisposeATSUDirectLayoutOperationOverrideUPP(ATSUDirectLayoutOperationOverrideUPP) { }
inline OSStatus InvokeATSUDirectLayoutOperationOverrideUPP(ATSULayoutOperationSelector iCurrentOperation, ATSULineRef iLineRef, URefCon iRefCon, void * iOperationCallbackParameterPtr, ATSULayoutOperationCallbackStatus * oCallbackStatus, ATSUDirectLayoutOperationOverrideUPP userUPP) { return (*userUPP)(iCurrentOperation, iLineRef, iRefCon, iOperationCallbackParameterPtr, oCallbackStatus); }
#else
#define NewATSUDirectLayoutOperationOverrideUPP(userRoutine) ((ATSUDirectLayoutOperationOverrideUPP)userRoutine)
#define DisposeATSUDirectLayoutOperationOverrideUPP(userUPP)
#define InvokeATSUDirectLayoutOperationOverrideUPP(iCurrentOperation, iLineRef, iRefCon, iOperationCallbackParameterPtr, oCallbackStatus, userUPP) (*userUPP)(iCurrentOperation, iLineRef, iRefCon, iOperationCallbackParameterPtr, oCallbackStatus)
#endif
#endif
/* ---------------------------------------------------------------------------- */
/*
* ATSULayoutOperationOverrideSpecifier
*
* Summary:
* This structure is used to install a callback for one or more
* ATSUI operations. To do this, simply passed one of these
* structure into the ATSUSetLayoutControls call with the
* kATSULayoutOperationOverrideTag tag.
*/
struct ATSULayoutOperationOverrideSpecifier {
/*
* A bitfield containing the selector for the operations in which the
* callback will be installed for.
*/
ATSULayoutOperationSelector operationSelector;
ATSUDirectLayoutOperationOverrideUPP overrideUPP;
};
typedef struct ATSULayoutOperationOverrideSpecifier ATSULayoutOperationOverrideSpecifier;
#endif // ATS_LEGACY_API
#pragma pack(pop)
#ifdef __cplusplus
}
#endif
#endif /* __ATSLAYOUTTYPES__ */

View File

@@ -0,0 +1,384 @@
/*
File: ATS/ATSTypes.h
Contains: Public interfaces for Apple Type Services components.
Version: ATS
Copyright: Copyright 1997-2019 by Apple Inc., all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATSTYPES__
#define __ATSTYPES__
#ifndef __CORESERVICES__
#include <CoreServices/CoreServices.h>
#endif
#ifndef __CGGEOMETRY__
#include <CoreGraphics/CGGeometry.h>
#endif
#include <AvailabilityMacros.h>
#ifndef __ATSDEFINES__
#include <ATS/ATSDefines.h>
#endif
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
#pragma pack(push, 2)
#ifndef CGFLOAT_DEFINED
/* For the time being CGFLOAT_DEFINED will serve to indicate the presence
of new RefCon types in CoreServices. If new headers and associated typedefs
are not present then URefCon is declared here.
*/
#ifdef __LP64__
typedef void * URefCon;
#else
typedef unsigned long URefCon;
#endif /* defined(__LP64__) */
#endif /* !defined(CGFLOAT_DEFINED) */
#ifdef __LP64__
typedef CGPoint ATSPoint;
#else
typedef Float32Point ATSPoint;
#endif /* defined(__LP64__) */
#if ATS_LEGACY_API
#ifdef __LP64__
/*
ATSFSSpec serves as a temporary place holder for the FSSpec data type which is deprecated for 64-bit.
A 64-bit replacement for FSSpec based APIs will be introduced.
*/
struct ATSFSSpec {
FSVolumeRefNum vRefNum;
SInt32 parID;
StrFileName name;
};
typedef struct ATSFSSpec ATSFSSpec;
#else
typedef FSSpec ATSFSSpec;
#endif /* defined(__LP64__) */
#endif // ATS_LEGACY_API
/* FMGeneration */
typedef UInt32 FMGeneration;
/* The FMFontFamily reference represents a collection of fonts with the same design
characteristics. It replaces the standard QuickDraw font identifer and may be used
with all QuickDraw functions including GetFontName and TextFont. It cannot be used
with the Resource Manager to access information from a FOND resource handle. A font
reference does not imply a particular script system, nor is the character encoding
of a font family determined by an arithmetic mapping of its value.
*/
typedef SInt16 FMFontFamily;
typedef SInt16 FMFontStyle;
typedef SInt16 FMFontSize;
/*
The font family is a collection of fonts, each of which is identified
by an FMFont reference that maps to a single object registered with
the font database. The font references associated with the font
family consist of individual outline and bitmapped fonts that may be
used with the font access routines of the Font Manager and ATS.
*/
typedef UInt32 FMFont;
struct FMFontFamilyInstance {
FMFontFamily fontFamily;
FMFontStyle fontStyle;
};
typedef struct FMFontFamilyInstance FMFontFamilyInstance;
struct FMFontFamilyIterator {
UInt32 reserved[16];
};
typedef struct FMFontFamilyIterator FMFontFamilyIterator;
struct FMFontIterator {
UInt32 reserved[16];
};
typedef struct FMFontIterator FMFontIterator;
struct FMFontFamilyInstanceIterator {
UInt32 reserved[16];
};
typedef struct FMFontFamilyInstanceIterator FMFontFamilyInstanceIterator;
enum {
kInvalidGeneration = 0,
kInvalidFontFamily = -1,
kInvalidFont = 0
};
enum {
kFMCurrentFilterFormat = 0
};
typedef UInt32 FMFilterSelector;
enum {
kFMFontTechnologyFilterSelector = 1,
kFMFontContainerFilterSelector = 2,
kFMGenerationFilterSelector = 3,
kFMFontFamilyCallbackFilterSelector = 4,
kFMFontCallbackFilterSelector = 5,
kFMFontDirectoryFilterSelector = 6,
kFMFontFileRefFilterSelector = 10
};
enum {
kFMTrueTypeFontTechnology = 'true',
kFMPostScriptFontTechnology = 'typ1'
};
#if ATS_LEGACY_API
typedef CALLBACK_API( OSStatus , FMFontFamilyCallbackFilterProcPtr )(FMFontFamily iFontFamily, void *iRefCon);
typedef CALLBACK_API( OSStatus , FMFontCallbackFilterProcPtr )(FMFont iFont, void *iRefCon);
typedef STACK_UPP_TYPE(FMFontFamilyCallbackFilterProcPtr) FMFontFamilyCallbackFilterUPP;
typedef STACK_UPP_TYPE(FMFontCallbackFilterProcPtr) FMFontCallbackFilterUPP;
/*
* NewFMFontFamilyCallbackFilterUPP()
*
* Availability:
* Mac OS X: in version 10.0 and later in ApplicationServices.framework
* CarbonLib: in CarbonLib 1.0 and later
* Non-Carbon CFM: available as macro/inline
*/
#if !__LP64__
extern FMFontFamilyCallbackFilterUPP
NewFMFontFamilyCallbackFilterUPP(FMFontFamilyCallbackFilterProcPtr userRoutine) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7;
#endif // !__LP64
/*
* NewFMFontCallbackFilterUPP()
*
* Availability:
* Mac OS X: in version 10.0 and later in ApplicationServices.framework
* CarbonLib: in CarbonLib 1.0 and later
* Non-Carbon CFM: available as macro/inline
*/
#if !__LP64__
extern FMFontCallbackFilterUPP
NewFMFontCallbackFilterUPP(FMFontCallbackFilterProcPtr userRoutine) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7;
#endif // !__LP64
/*
* DisposeFMFontFamilyCallbackFilterUPP()
*
* Availability:
* Mac OS X: in version 10.0 and later in ApplicationServices.framework
* CarbonLib: in CarbonLib 1.0 and later
* Non-Carbon CFM: available as macro/inline
*/
#if !__LP64__
extern void
DisposeFMFontFamilyCallbackFilterUPP(FMFontFamilyCallbackFilterUPP userUPP) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7;
#endif // !__LP64
/*
* DisposeFMFontCallbackFilterUPP()
*
* Availability:
* Mac OS X: in version 10.0 and later in ApplicationServices.framework
* CarbonLib: in CarbonLib 1.0 and later
* Non-Carbon CFM: available as macro/inline
*/
#if !__LP64__
extern void
DisposeFMFontCallbackFilterUPP(FMFontCallbackFilterUPP userUPP) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7;
#endif // !__LP64
/*
* InvokeFMFontFamilyCallbackFilterUPP()
*
* Availability:
* Mac OS X: in version 10.0 and later in ApplicationServices.framework
* CarbonLib: in CarbonLib 1.0 and later
* Non-Carbon CFM: available as macro/inline
*/
#if !__LP64__
extern OSStatus
InvokeFMFontFamilyCallbackFilterUPP(
FMFontFamily iFontFamily,
void * iRefCon,
FMFontFamilyCallbackFilterUPP userUPP) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7;
#endif // !__LP64
/*
* InvokeFMFontCallbackFilterUPP()
*
* Availability:
* Mac OS X: in version 10.0 and later in ApplicationServices.framework
* CarbonLib: in CarbonLib 1.0 and later
* Non-Carbon CFM: available as macro/inline
*/
#if !__LP64__
extern OSStatus
InvokeFMFontCallbackFilterUPP(
FMFont iFont,
void * iRefCon,
FMFontCallbackFilterUPP userUPP) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7;
#endif // !__LP64
#if __MACH__
#ifdef __cplusplus
inline FMFontFamilyCallbackFilterUPP NewFMFontFamilyCallbackFilterUPP(FMFontFamilyCallbackFilterProcPtr userRoutine) { return userRoutine; }
inline FMFontCallbackFilterUPP NewFMFontCallbackFilterUPP(FMFontCallbackFilterProcPtr userRoutine) { return userRoutine; }
inline void DisposeFMFontFamilyCallbackFilterUPP(FMFontFamilyCallbackFilterUPP) { }
inline void DisposeFMFontCallbackFilterUPP(FMFontCallbackFilterUPP) { }
inline OSStatus InvokeFMFontFamilyCallbackFilterUPP(FMFontFamily iFontFamily, void * iRefCon, FMFontFamilyCallbackFilterUPP userUPP) { return (*userUPP)(iFontFamily, iRefCon); }
inline OSStatus InvokeFMFontCallbackFilterUPP(FMFont iFont, void * iRefCon, FMFontCallbackFilterUPP userUPP) { return (*userUPP)(iFont, iRefCon); }
#else
#define NewFMFontFamilyCallbackFilterUPP(userRoutine) ((FMFontFamilyCallbackFilterUPP)userRoutine)
#define NewFMFontCallbackFilterUPP(userRoutine) ((FMFontCallbackFilterUPP)userRoutine)
#define DisposeFMFontFamilyCallbackFilterUPP(userUPP)
#define DisposeFMFontCallbackFilterUPP(userUPP)
#define InvokeFMFontFamilyCallbackFilterUPP(iFontFamily, iRefCon, userUPP) (*userUPP)(iFontFamily, iRefCon)
#define InvokeFMFontCallbackFilterUPP(iFont, iRefCon, userUPP) (*userUPP)(iFont, iRefCon)
#endif
#endif
struct FMFontDirectoryFilter {
SInt16 fontFolderDomain;
UInt32 reserved[2];
};
typedef struct FMFontDirectoryFilter FMFontDirectoryFilter;
/*
Note: The fontContainerFilter member is not available in 64-bit. Use fontFileRefFilter
and the kFMFontFileRefFilterSelector enum instead.
*/
struct FMFilter {
UInt32 format;
FMFilterSelector selector;
union {
FourCharCode fontTechnologyFilter;
ATSFSSpec fontContainerFilter;
FMGeneration generationFilter;
FMFontFamilyCallbackFilterUPP fontFamilyCallbackFilter;
FMFontCallbackFilterUPP fontCallbackFilter;
FMFontDirectoryFilter fontDirectoryFilter;
const FSRef * fontFileRefFilter;
} filter;
};
typedef struct FMFilter FMFilter;
#endif // ATS_LEGACY_API
typedef OptionBits ATSOptionFlags;
typedef UInt32 ATSGeneration;
typedef UInt32 ATSFontContainerRef;
typedef UInt32 ATSFontFamilyRef;
#ifndef ATSFONTREF_DEFINED
typedef UInt32 ATSFontRef;
#define ATSFONTREF_DEFINED 1
#endif
typedef UInt16 ATSGlyphRef;
typedef CGFloat ATSFontSize;
typedef UInt32 ATSFontFormat;
enum {
kATSFontFormatUnspecified = 0
};
enum {
kATSGenerationUnspecified = 0,
kATSFontContainerRefUnspecified = 0,
kATSFontFamilyRefUnspecified = 0,
kATSFontRefUnspecified = 0
};
/*
ATSFontMetrics measurements are relative to a font's point size.
For example, when a font with an ATSFontMetrics ascent of 0.6 is drawn at 18 points, its actual ascent is (0.6 * 18) = 10.8 points.
*/
struct ATSFontMetrics {
UInt32 version;
CGFloat ascent; /* Maximum height above baseline reached by the glyphs in the font */
/* or maximum distance to the right of the centerline reached by the glyphs in the font */
CGFloat descent; /* Maximum depth below baseline reached by the glyphs in the font */
/* or maximum distance to the left of the centerline reached by the glyphs in the font */
CGFloat leading; /* Desired spacing between lines of text */
CGFloat avgAdvanceWidth;
CGFloat maxAdvanceWidth; /* Maximum advance width or height of the glyphs in the font */
CGFloat minLeftSideBearing; /* Minimum left or top side bearing */
CGFloat minRightSideBearing; /* Minimum right or bottom side bearing */
CGFloat stemWidth; /* Width of the dominant vertical stems of the glyphs in the font */
CGFloat stemHeight; /* Vertical width of the dominant horizontal stems of glyphs in the font */
CGFloat capHeight; /* Height of a capital letter from the baseline to the top of the letter */
CGFloat xHeight; /* Height of lowercase characters in a font, specifically the letter x, excluding ascenders and descenders */
CGFloat italicAngle; /* Angle in degrees counterclockwise from the vertical of the dominant vertical strokes of the glyphs in the font */
CGFloat underlinePosition; /* Distance from the baseline for positioning underlining strokes */
CGFloat underlineThickness; /* Stroke width for underlining */
};
typedef struct ATSFontMetrics ATSFontMetrics;
enum {
kATSItalicQDSkew = (1 << 16) / 4, /* fixed value of 0.25 */
kATSBoldQDStretch = (1 << 16) * 3 / 2, /* fixed value of 1.50 */
kATSRadiansFactor = 1144 /* fixed value of approx. pi/180 (0.0174560546875) */
};
/* Glyph outline path constants used in ATSFontGetNativeCurveType. */
typedef UInt16 ATSCurveType;
enum {
kATSCubicCurveType = 0x0001,
kATSQuadCurveType = 0x0002,
kATSOtherCurveType = 0x0003
};
/*
This is what the ATSGlyphRef is set to when the glyph is deleted -
that is, when the glyph is set to no longer appear when the layout
is actually drawn
*/
enum {
kATSDeletedGlyphcode = 0xFFFF
};
struct ATSUCurvePath {
UInt32 vectors;
UInt32 controlBits[1];
ATSPoint vector[1];
};
typedef struct ATSUCurvePath ATSUCurvePath;
struct ATSUCurvePaths {
UInt32 contours;
ATSUCurvePath contour[1];
};
typedef struct ATSUCurvePaths ATSUCurvePaths;
/* Glyph ideal metrics */
struct ATSGlyphIdealMetrics {
ATSPoint advance;
ATSPoint sideBearing;
ATSPoint otherSideBearing;
};
typedef struct ATSGlyphIdealMetrics ATSGlyphIdealMetrics;
/* Glyph screen metrics */
struct ATSGlyphScreenMetrics {
ATSPoint deviceAdvance;
ATSPoint topLeft;
UInt32 height;
UInt32 width;
ATSPoint sideBearing;
ATSPoint otherSideBearing;
};
typedef struct ATSGlyphScreenMetrics ATSGlyphScreenMetrics;
/* Glyph References */
typedef ATSGlyphRef GlyphID;
#pragma pack(pop)
#ifdef __cplusplus
}
#endif
#endif /* __ATSTYPES__ */

View File

@@ -0,0 +1,16 @@
/*
File: ATS/SFNTLayoutTypes.h
Contains: SFNT file layout structures and constants.
Version: ATS
Copyright: <20> 1994-2012 by Apple Inc., all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#include <CoreText/SFNTLayoutTypes.h>

View File

@@ -0,0 +1,32 @@
/*
File: ATS/SFNTTypes.h
Contains: Font file structures.
Version: ATS
Copyright: <20> 1994-2012 by Apple Inc., all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATS_SFNTTYPES__
#define __ATS_SFNTTYPES__
#include <CoreText/SFNTTypes.h>
/* Deprecated "don't care" values - use kFontNoPlatformCode, kFontNoScriptCode,
kFontNoLanguageCode, kFontNoName instead
*/
enum {
kFontNoPlatform = (unsigned int)(~0),
kFontNoScript = (unsigned int)(~0),
kFontNoLanguage = (unsigned int)(~0),
kFontNoName = (unsigned int)(~0)
};
#endif /* __ATS_SFNTTYPES__ */

View File

@@ -0,0 +1,69 @@
--- !tapi-tbd
tbd-version: 4
targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
uuids:
- target: x86_64-macos
value: F04921AB-73D9-3E0E-973F-83EE84F09C4B
- target: arm64-macos
value: 00000000-0000-0000-0000-000000000000
- target: arm64e-macos
value: 7B9808EE-00FD-3F04-8035-E6F784C95611
install-name: '/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATSUI.framework/Versions/A/ATSUI'
parent-umbrella:
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
umbrella: ApplicationServices
exports:
- targets: [ x86_64-macos, arm64e-macos, arm64-macos ]
symbols: [ _ATSApplyMorph, _ATSClearGlyphVector, _ATSGrowGlyphVector,
_ATSInitializeGlyphVector, _ATSUBatchBreakLines, _ATSUBreakLine,
_ATSUClearAttributes, _ATSUClearFontFeatures, _ATSUClearFontVariations,
_ATSUClearLayoutCache, _ATSUClearLayoutControls, _ATSUClearLineControls,
_ATSUClearSoftLineBreaks, _ATSUClearStyle, _ATSUCompareStyles,
_ATSUConvertCharToGlyphs, _ATSUCopyAttributes, _ATSUCopyLayoutControls,
_ATSUCopyLineControls, _ATSUCountFontFeatureSelectors, _ATSUCountFontFeatureTypes,
_ATSUCountFontInstances, _ATSUCountFontNames, _ATSUCountFontVariations,
_ATSUCreateAndCopyStyle, _ATSUCreateAndCopyTextLayout, _ATSUCreateFontFallbacks,
_ATSUCreateStyle, _ATSUCreateTextLayout, _ATSUCreateTextLayoutWithTextPtr,
_ATSUDirectAddStyleSettingRef, _ATSUDirectGetLayoutDataArrayPtrFromLineRef,
_ATSUDirectGetLayoutDataArrayPtrFromTextLayout, _ATSUDirectReleaseLayoutDataArrayPtr,
_ATSUDisposeFontFallbacks, _ATSUDisposeStyle, _ATSUDisposeStyleGroup,
_ATSUDisposeTextLayout, _ATSUDrawText, _ATSUFONDtoFontID,
_ATSUFindFontFromName, _ATSUFindFontName, _ATSUFlattenStyleRunsToStream,
_ATSUFontCount, _ATSUFontIDtoFOND, _ATSUGetAllAttributes,
_ATSUGetAllFontFeatures, _ATSUGetAllFontVariations, _ATSUGetAllLayoutControls,
_ATSUGetAllLineControls, _ATSUGetAttribute, _ATSUGetContinuousAttributes,
_ATSUGetFontFeature, _ATSUGetFontFeatureNameCode, _ATSUGetFontFeatureSelectors,
_ATSUGetFontFeatureTypes, _ATSUGetFontIDs, _ATSUGetFontInstance,
_ATSUGetFontInstanceNameCode, _ATSUGetFontVariationNameCode,
_ATSUGetFontVariationValue, _ATSUGetGlyphBounds, _ATSUGetGlyphInfo,
_ATSUGetIndFontName, _ATSUGetIndFontVariation, _ATSUGetLayoutControl,
_ATSUGetLineControl, _ATSUGetNativeCurveType, _ATSUGetObjFontFallbacks,
_ATSUGetRunStyle, _ATSUGetSoftLineBreaks, _ATSUGetStyleGroup,
_ATSUGetStyleIndex, _ATSUGetStyleRefCon, _ATSUGetTabArray,
_ATSUGetTextLayoutRefCon, _ATSUGetTextLocation, _ATSUGetTransientFontMatching,
_ATSUGetUnjustifiedBounds, _ATSUGlyphGetCubicPaths, _ATSUGlyphGetCurvePaths,
_ATSUGlyphGetIdealMetrics, _ATSUGlyphGetQuadraticPaths, _ATSUGlyphGetScreenMetrics,
_ATSUHighlightInactiveText, _ATSUHighlightText, _ATSULeftwardCursorPosition,
_ATSULineBreakEngine, _ATSUMatchFontsToText, _ATSUMeasureTextImage,
_ATSUNextCursorPosition, _ATSUOffsetToCursorPosition, _ATSUOffsetToPosition,
_ATSUOverwriteAttributes, _ATSUPositionToCursorOffset, _ATSUPositionToOffset,
_ATSUPreviousCursorPosition, _ATSURightwardCursorPosition,
_ATSUSetAttributes, _ATSUSetFontFeatures, _ATSUSetHighlightingMethod,
_ATSUSetLayoutControls, _ATSUSetLineControls, _ATSUSetObjFontFallbacks,
_ATSUSetRunStyle, _ATSUSetSoftLineBreak, _ATSUSetStyleRefCon,
_ATSUSetTabArray, _ATSUSetTextLayoutRefCon, _ATSUSetTextPointerLocation,
_ATSUSetTransientFontMatching, _ATSUSetVariations, _ATSUStyleIsEmpty,
_ATSUTextDeleted, _ATSUTextInserted, _ATSUTextMoved, _ATSUUnderwriteAttributes,
_ATSUUnflattenStyleRunsFromStream, _ATSUUnhighlightText, _DisposeATSCubicClosePathUPP,
_DisposeATSCubicCurveToUPP, _DisposeATSCubicLineToUPP, _DisposeATSCubicMoveToUPP,
_DisposeATSQuadraticClosePathUPP, _DisposeATSQuadraticCurveUPP,
_DisposeATSQuadraticLineUPP, _DisposeATSQuadraticNewPathUPP,
_DisposeRedrawBackgroundUPP, _InvokeATSCubicClosePathUPP,
_InvokeATSCubicCurveToUPP, _InvokeATSCubicLineToUPP, _InvokeATSCubicMoveToUPP,
_InvokeATSQuadraticClosePathUPP, _InvokeATSQuadraticCurveUPP,
_InvokeATSQuadraticLineUPP, _InvokeATSQuadraticNewPathUPP,
_InvokeRedrawBackgroundUPP, _NewATSCubicClosePathUPP, _NewATSCubicCurveToUPP,
_NewATSCubicLineToUPP, _NewATSCubicMoveToUPP, _NewATSQuadraticClosePathUPP,
_NewATSQuadraticCurveUPP, _NewATSQuadraticLineUPP, _NewATSQuadraticNewPathUPP,
_NewRedrawBackgroundUPP ]
...

View File

@@ -0,0 +1,29 @@
//
// ATSAvailability.h
// ATSUI
//
// Copyright © 2018 Apple Inc. All rights reserved.
//
#ifndef __ATS_AVAILIBILITY__
#define __ATS_AVAILIBILITY__
// The "_R" variation of the macros is for "retroactive"
// Functions declared with it were not deprecated until Mojave, though they should have been by Tiger
#undef ATS_AVAILABLE_BUT_DEPRECATED
#if ATS_BUILDING_ATS
#define ATS_AVAILABLE_BUT_DEPRECATED(m0,m1)
#define ATS_AVAILABLE_BUT_DEPRECATED_R(m0,m1)
#else
#define ATS_AVAILABLE_BUT_DEPRECATED(m0,m1) API_DEPRECATED("No longer supported", macos(m0,m1))
#define ATS_AVAILABLE_BUT_DEPRECATED_R(m0,m1) API_DEPRECATED("No longer supported", macos(m0,m1))
#endif
#endif /* __ATS_AVAILIBILITY__ */

View File

@@ -0,0 +1,37 @@
/*
File: QD/ATSUnicode.h
Contains: Public interfaces for Apple Type Services for Unicode Imaging
Version: Quickdraw-291~1
Copyright: <20> 1997-2008 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 __ATSUNICODE__
#define __ATSUNICODE__
#ifndef __ATSUNICODETYPES__
#include <ATSUI/ATSUnicodeTypes.h>
#endif
#ifndef __ATSUNICODEGLYPHS__
#include <ATSUI/ATSUnicodeGlyphs.h>
#endif
#ifndef __ATSUNICODEFLATTENING__
#include <ATSUI/ATSUnicodeFlattening.h>
#endif
#ifndef __ATSUNICODEDIRECTACCESS__
#include <ATSUI/ATSUnicodeDirectAccess.h>
#endif
#endif /* __ATSUNICODE__ */

View File

@@ -0,0 +1,159 @@
/*
File: QD/ATSUnicodeDirectAccess.h
Contains: Public Interfaces/Types for Low Level ATSUI
Version: Quickdraw-291~1
Copyright: <20> 2002-2008 by Apple Inc. all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATSUNICODEDIRECTACCESS__
#define __ATSUNICODEDIRECTACCESS__
#ifndef __ATSUNICODETYPES__
#include <ATSUI/ATSUnicodeTypes.h>
#endif
/* ---------------------------------------------------------------------------- */
/* Constants */
/* ---------------------------------------------------------------------------- */
#include <AvailabilityMacros.h>
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*
* ATSUDirectDataSelector
*
* Summary:
* These are the data selectors used in the
* ATSUDirectGetLayoutDataArrayPtr function to get the needed layout
* data array pointer.
*/
typedef UInt32 ATSUDirectDataSelector;
enum {
/*
* Returns the parallel advance delta (delta X) array. (Array Type):
* Fixed (Return Time): Constant, unless creation is necessary, or
* unless requested by ATSUDirectGetLayoutDataArrayPtrFromTextLayout.
* (Creation): This array is created only on demand. Thus, if any
* changes are to be made iCreate should be set to true. If the array
* had not been previously allocated it will be allocated and
* zero-filled when iCreate is set to true.
*/
kATSUDirectDataAdvanceDeltaFixedArray = 0,
/*
* Returns the parallel baseline delta (delta Y) array. (Array Type):
* Fixed (Return Time): Constant, unless creation is necessary, or
* unless requested by ATSUDirectGetLayoutDataArrayPtrFromTextLayout.
* (Creation): This array is created only on demand. Thus, if any
* changes are to be made iCreate should be set to true. If the array
* had not been previously allocated it will be allocated and
* zero-filled when iCreate is set to true.
*/
kATSUDirectDataBaselineDeltaFixedArray = 1,
/*
* Returns the parallel device delta array for device- specific
* tweaking. This is an array of values which are used to adjust
* truncated fractional values for devices that do not accept
* fractional positioning. It is also used to provide precise
* positioning for connected scripts. (Array Type): SInt16 (Return
* Time): Constant, unless creation is necessary, or unless requested
* by ATSUDirectGetLayoutDataArrayPtrFromTextLayout. (Creation): This
* array is created only on demand. Thus, if any changes are to be
* made iCreate should be set to true. If the array had not been
* previously allocated it will be allocated and zero-filled when
* iCreate is set to true.
*/
kATSUDirectDataDeviceDeltaSInt16Array = 2,
/*
* Returns the parallel style index array. The indexes setting in the
* array are indexes into the the StyleSetting array, which can be
* obtained using the
* kATSUDirectDataStyleSettingATSUStyleSettingRefArray below. (Array
* Type): UInt16 (Return Time): Constant, unless creation is
* necessary, or unless requested by
* ATSUDirectGetLayoutDataArrayPtrFromTextLayout. (Creation): This
* array is created only on demand. Thus, if any changes are to be
* made iCreate should be set to true. If the array had not been
* previously allocated it will be allocated and zero-filled when
* iCreate is set to true.
*/
kATSUDirectDataStyleIndexUInt16Array = 3,
/*
* Returns the style setting ref array. (Array Type):
* ATSUStyleSettingRef (Return Time): Linear, based on the number of
* styles applied to the given line. (Creation): This array is always
* present if the layout has any text assigned to it at all. Setting
* iCreate has no effect.
*/
kATSUDirectDataStyleSettingATSUStyleSettingRefArray = 4,
/*
* Returns the ATSLayoutRecord, version 1 array. This should not be
* used directly at all. Rather, use the
* kATSUDirectDataLayoutRecordATSLayoutRecordCurrent selector below.
* This will ensure that the code will always be using the most
* current version of the ATSLayoutRecord, should there ever be a
* change. ATSUI will only ensure the most efficient processing will
* occur for the latest version of ATSLayoutRecord. (Array Type):
* ATSLayoutRecord, version 1 (Return Time): Constant, unless
* creation is necessary, or unless requested by
* ATSUDirectGetLayoutDataArrayPtrFromTextLayout. (Creation): This
* array is always present if the layout has any text assigned to it
* at all. Setting iCreate has no effect
*/
kATSUDirectDataLayoutRecordATSLayoutRecordVersion1 = 100,
/*
* Returns the ATSLayoutRecord. This will return the most current
* version of the ATSLayoutRecord, and the one that's defined in this
* file. Always use kATSUDirectDataLayoutRecordATSLayoutRecordCurrent
* to get the array of ATSLayoutRecords. (Array Type):
* ATSLayoutRecord (Return Time): Constant, unless creation is
* necessary, or unless requested by
* ATSUDirectGetLayoutDataArrayPtrFromTextLayout. (Creation): This
* array is always present if the layout has any text assigned to it
* at all. Setting iCreate has no effect.
*/
kATSUDirectDataLayoutRecordATSLayoutRecordCurrent = kATSUDirectDataLayoutRecordATSLayoutRecordVersion1
};
/* ---------------------------------------------------------------------------- */
/* Data Types */
/* ---------------------------------------------------------------------------- */
/*
* ATSUStyleSettingRef
*
* Summary:
* A reference to a style setting object that represents an
* ATSUStyle plus any cached/set information about that style.
*/
typedef struct LLCStyleInfo* ATSUStyleSettingRef;
#ifdef __cplusplus
}
#endif
#endif /* __ATSUNICODEDIRECTACCESS__ */

View File

@@ -0,0 +1,24 @@
/*
File: QD/ATSUnicodeDrawing.h
Contains: ATSUI drawing, measuring, and highlighting functions.
Version: Quickdraw-291~1
Copyright: <20> 2003-2008 by Apple Inc. all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATSUNICODEDRAWING__
#define __ATSUNICODEDRAWING__
#ifndef __ATSUNICODETYPES__
#include <ATSUI/ATSUnicodeTypes.h>
#endif
#endif /* __ATSUNICODEDRAWING__ */

View File

@@ -0,0 +1,507 @@
/*
File: QD/ATSUnicodeFlattening.h
Contains: Public interfaces for Apple Type Services for Unicode Imaging
Version: Quickdraw-291~1
Copyright: <20> 2002-2008 by Apple Inc. all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATSUNICODEFLATTENING__
#define __ATSUNICODEFLATTENING__
#ifndef __ATSUNICODETYPES__
#include <ATSUI/ATSUnicodeTypes.h>
#endif
/* ---------------------------------------------------------------------------- */
/* Constants */
/* ---------------------------------------------------------------------------- */
/*
ATSUFlattenedDataStreamFormat is used to inform the APIs which flatten and
unflatten style runs exactly what type of data that they should be generating
or parsing.
*/
#include <AvailabilityMacros.h>
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
#pragma pack(push, 2)
typedef UInt32 ATSUFlattenedDataStreamFormat;
enum {
kATSUDataStreamUnicodeStyledText = 'ustl'
};
/*
ATSUFlattenStyleRunOptions is a bitfield list of options that can be passed
into the ATSUFlattenStyleRunsToStream API. Currently, there are no options.
This is here for future expansion.
*/
typedef UInt32 ATSUFlattenStyleRunOptions;
enum {
kATSUFlattenOptionNoOptionsMask = 0x00000000
};
/*
ATSUUnFlattenStyleRunOptions is a bitfield list of options that can be passed
into the ATSUUnFlattenStyleRunsToStream API. Currently, there are no options.
This is here for future expansion.
*/
typedef UInt32 ATSUUnFlattenStyleRunOptions;
enum {
kATSUUnFlattenOptionNoOptionsMask = 0x00000000
};
/* ---------------------------------------------------------------------------- */
/* Data Types */
/* ---------------------------------------------------------------------------- */
/*
ATSUStyleRunInfo is a structure that contains an index into an array of
unique ATSUStyle objects as well as the length of the run that the style run
object covers. This structure is utilized by ATSUUnflattenStyleRunsFromStream()
to return the style run info to the caller.
*/
struct ATSUStyleRunInfo {
UInt32 runLength;
UInt32 styleObjectIndex;
};
typedef struct ATSUStyleRunInfo ATSUStyleRunInfo;
/* ---------------------------------------------------------------------------- */
/* 'ustl' structure data structures and definitions */
/* ---------------------------------------------------------------------------- */
/*
The 'ustl' data structure follows this format:
1. Main Data Structure Block Header
2. Flattened Text Layout Data
3. Flattened Style Run Data
4. Flattened Style Data
Per the 'ustl' spec, these structures should maintain four-byte alignment.
For things that are variable width (such as font names), padding bytes must
be added to ensure that this alignment is always kept.
*/
/*
structure versioning - the version of the 'ustl' that the ATSUI parsing
and generating functions will handle is version 2 or greater. Earlier
versions were not completly specified and have been obsoleted.
*/
enum {
kATSFlatDataUstlVersion0 = 0,
kATSFlatDataUstlVersion1 = 1,
kATSFlatDataUstlVersion2 = 2,
kATSFlatDataUstlCurrentVersion = kATSFlatDataUstlVersion2
};
/* ------------------ */
/* Block 1 Structures */
/* ------------------ */
/*
This is the main data structure block header. It describes the rest
of the data and how it is structured.
*/
struct ATSFlatDataMainHeaderBlock {
/* the 'ustl' version number. This needs to be the first item in the*/
/* data block do as not to confuse parsers of earlier (and possibly*/
/* later) versions of the spec *|*/
UInt32 version;
/* the total size of the stream in bytes, including the four bytes in*/
/* the version above*/
UInt32 sizeOfDataBlock;
/* offset from the beginning of the stream to the flattened text layout data.*/
/* This can be set to 0 if there are no text layouts stored in the stream.*/
UInt32 offsetToTextLayouts;
/* offset from the beginning of the stream to the flattened style run data. */
/* This can be set to 0 if there is no flattened style run data in the stream*/
UInt32 offsetToStyleRuns;
/* offset to the flattened style list data. This can be set to 0 if there*/
/* is no flattened style list data*/
UInt32 offsetToStyleList;
};
typedef struct ATSFlatDataMainHeaderBlock ATSFlatDataMainHeaderBlock;
/* ------------------ */
/* Block 2 Structures */
/* ------------------ */
/*
The Block 2 Structures are not currently used by any of ATSUI's internal parsing
or packing routines. They are, however, part of the 'ustl' standard and are put
here for developer conveniance, as well as to properly define the standard.
*/
/*
This is the header that is attached to each flattened text layout. The
number of flattened text layouts in the stucture is specified by the
ATSFlatDataTextLayoutHeader structure that is below.
*/
struct ATSFlatDataTextLayoutDataHeader {
/* the total size of this particular flattened text layout, including any*/
/* padding bytes and such. */
UInt32 sizeOfLayoutData;
/* the number of characters covered by this flattened text layout*/
UInt32 textLayoutLength;
/* the byte offset relative to the start of this structure to the flattened*/
/* layout control data. This can be set to zero if there are no layout*/
/* controls.*/
UInt32 offsetToLayoutControls;
/* the byte offset, relative to the start of this structure to the*/
/* flattened line info. This can be set to zero if there is no line info */
/* in this layout.*/
UInt32 offsetToLineInfo;
/* if the offsetToLayoutControls is non-zero, then following this block*/
/* there will be a ATSFlattenedLayoutDataFlattenedLayoutControlsHeader*/
/* followed by an array of ATSFlattenedLayoutDataFlattenedLayoutControls*/
/* structures. If the offsetToLineInfo is non-zero, then following the*/
/* flattened layout controls will be a ATSFlatDataLineInfoHeader*/
/* structure.*/
};
typedef struct ATSFlatDataTextLayoutDataHeader ATSFlatDataTextLayoutDataHeader;
/*
This is the the main header for block 2. If there is a block 2, then there
needs to be one of these. This structure is what the offsetToTextLayouts
points to in block 1.
*/
struct ATSFlatDataTextLayoutHeader {
/* the total number of flattened text layouts stored in this block.*/
/* This must be non-zero, as if there were no flattened text layouts, the*/
/* entire block 2 would not exist*/
UInt32 numFlattenedTextLayouts;
/* first of possibly many flattened text layouts. There should be one of*/
/* these for each flattened text layout as determined by the*/
/* numFlattenedTextLayouts above. */
ATSFlatDataTextLayoutDataHeader flattenedTextLayouts[1];
};
typedef struct ATSFlatDataTextLayoutHeader ATSFlatDataTextLayoutHeader;
/*
This is the header for the flattened layout controls structure. This is
the structure that a non-zero offsetToLayoutControls points to in the
ATSFlatDataTextLayoutDataHeader
*/
struct ATSFlatDataLayoutControlsDataHeader {
/* the number of flattened layout controls. It is suggested that there be*/
/* at least one layout control to output the line direction for the layout*/
UInt32 numberOfLayoutControls;
/* first of possibly many flattened layout controls. There should be one */
/* of these for each layout control as determined by the*/
/* numberOfLayoutControls above. Of course, if there are no layout controls,*/
/* then this structure shouldn't even exist. Each attribute info structure*/
/* in the array could be followed by additional padding bytes in order*/
/* to maintain four-byte alignment. These padding bytes are not to be*/
/* included in the fValueSize member of each structure. */
ATSUAttributeInfo controlArray[1];
};
typedef struct ATSFlatDataLayoutControlsDataHeader ATSFlatDataLayoutControlsDataHeader;
struct ATSFlatDataLineInfoData {
/* the length of this particular line in UniChars*/
UInt32 lineLength;
/* the number of line controls applied to this line. This can be set*/
/* to zero if there are no special line controls applied to this line.*/
UInt32 numberOfLineControls;
/* the numberOfLineControls is non-zero, then following this structure*/
/* must be an array of ATSUAttributeInfo structures. There must be one*/
/* ATSUAttributeInfo structure for each numberOfLineControls above.*/
};
typedef struct ATSFlatDataLineInfoData ATSFlatDataLineInfoData;
/*
This structure is the main data header for the flattened line info data. This
is what a non-zero offsetToLineInfo points to in the
ATSFlatDataTextLayoutDataHeader structure above.
*/
struct ATSFlatDataLineInfoHeader {
/* the number of flattened line info structures that are stored in this*/
/* block. This value should really be equal to the number of soft line*/
/* breaks in the layout + 1. Of course if numberOfLines is zero, then*/
/* this structure shouldn't even be used.*/
UInt32 numberOfLines;
/* the first in a array of ATSFlatDataLineInfoData structures. There*/
/* needs to be a ATSFlatDataLineInfoData for each numberOfLines*/
/* specified above.*/
ATSFlatDataLineInfoData lineInfoArray[1];
};
typedef struct ATSFlatDataLineInfoHeader ATSFlatDataLineInfoHeader;
/* ------------------ */
/* Block 3 Structures */
/* ------------------ */
/*
The block 3 structures are used by ATSUI style run flattening and parsing
functions, ATSUFlattenStyleRunsToStream and ATSUUnflattenStyleRunsFromStream
to represent flattened style run information. These structures go hand and
hand with the block 4 structures.
*/
/*
This is the data header that appears before the style run data structures.
This structure is what a non-zero offsetToStyleRuns in the
ATSFlatDataMainHeaderBlock points to in block 1.
*/
struct ATSFlatDataStyleRunDataHeader {
/* the number of style run data structures stored in this block*/
UInt32 numberOfStyleRuns;
/* the first in an array of ATSUStyleRunInfo structures. There needs to*/
/* be a ATSUStyleRunInfo structure for each numberOfStyleRuns specified*/
/* above. This structure is defined in ATSUnicode.h*/
ATSUStyleRunInfo styleRunArray[1];
};
typedef struct ATSFlatDataStyleRunDataHeader ATSFlatDataStyleRunDataHeader;
/* ------------------ */
/* Block 4 Structures */
/* ------------------ */
/*
The block 4 structures store flattened ATSUStyle objects. This too, is
currently used by the ATSUI style run flattening and parsing functions,
ATSUFlattenStyleRunsToStream and ATSUUnflattenStyleRunsFromStream.
*/
/*
this structure forms the beginning of an individually flattened ATSUStyle
object.
*/
struct ATSFlatDataStyleListStyleDataHeader {
/* the size of this flattened style object, including these four bytes and*/
/* any padding bytes at the end of the structure. Basically, this can be*/
/* used to determine where the next structure in the array begins.*/
UInt32 sizeOfStyleInfo;
/* the number of attributes set in this flattened style object. This should */
/* be at least one for the font data, although it can be 0 if this is to be*/
/* unspecfied.*/
UInt32 numberOfSetAttributes;
/* the number of font features set in the flattened style object. This can*/
/* be set to 0 if there are no font features set in the style object. */
UInt32 numberOfSetFeatures;
/* the number of font variations set in the flattened style object. This*/
/* can be set to 0 if there are no font variations set in the style object.*/
UInt32 numberOfSetVariations;
/* after this structure header, there is the following data in this block:*/
/* 1. if the numberOfSetAttributes is non-zero, then there will be an*/
/* array of ATSUAttributeInfo structures immediately following the*/
/* above header data to store the style attributes. This is a variable*/
/* structure array. There must be one ATSUAttributeInfo for*/
/* for each numberOfSetAttributes. If numberOfSetAttributes is zero,*/
/* then skip to the next data section 2.*/
/* 2. if the numberOfSetFeatures is non-zero, then there will be an array*/
/* of ATSFlatDataStyleListFeatureData structures immediately after*/
/* the ATSUAttributeInfo array above (if any). There must be one*/
/* ATSFlatDataStyleListFeatureData structure for each */
/* numberOfSetFeatures set in the header above. If numberOfSetFeatures*/
/* is zero, then skip to the next data section 3.*/
/* 3. if the numberOfSetVariations is non-zero, then there will be an*/
/* array of ATSFlatDataStyleListVariationData immediately after the*/
/* ATSFlatDataStyleListFeatureData array above (if any). There must be*/
/* one ATSFlatDataStyleListVariationData structure for each */
/* numberOfSetVariations set in the header above.*/
};
typedef struct ATSFlatDataStyleListStyleDataHeader ATSFlatDataStyleListStyleDataHeader;
/*
this structure is the main header for this block. This structure is what a
non-zero offsetToStyleList in the ATSFlatDataMainHeaderBlock points to in
block 1.
*/
struct ATSFlatDataStyleListHeader {
/* the total number of flattened style objects stored in this block*/
UInt32 numberOfStyles;
/* the first in an array of flattned style entries. The data stored*/
/* in them is variably sized, so a simply array access won't do for*/
/* iterating through these. However, there must be one of these*/
/* ATSFlatDataStyleListStyleDataHeader structures for each */
/* numberOfStyles above.*/
ATSFlatDataStyleListStyleDataHeader styleDataArray[1];
};
typedef struct ATSFlatDataStyleListHeader ATSFlatDataStyleListHeader;
/*
this structure stores flattened font feature data. An array of these comes
after the array of font data attributes (if any) if the numberOfSetFeatures is
non-zero. There must be one of these structures for each numberOfSetFeatures.
*/
struct ATSFlatDataStyleListFeatureData {
/* the font feature type*/
ATSUFontFeatureType theFeatureType;
/* the font feature selector*/
ATSUFontFeatureSelector theFeatureSelector;
};
typedef struct ATSFlatDataStyleListFeatureData ATSFlatDataStyleListFeatureData;
/*
this structure stores the flattened font variation data. An array of these
comes after the array of ATSFlatDataStyleListFeatureData structures (if any)
if the numberOfSetVariations is non-zero. There must be one of these
structures for each numberOfSetFeatures.
*/
struct ATSFlatDataStyleListVariationData {
/* the variation axis*/
ATSUFontVariationAxis theVariationAxis;
/* the variation value*/
ATSUFontVariationValue theVariationValue;
};
typedef struct ATSFlatDataStyleListVariationData ATSFlatDataStyleListVariationData;
/* ------------------------ */
/* Flattened Font Data Info */
/* ------------------------ */
/*
This is somewhat of an addendum to the 'ustl' structure above. These flattened
data structures are stored in block 4 as a font attribute with the attribute
tag of kATSUFontTag. They can store font data in a few different ways, such as
by a FontSync reference or by simple raw font name data. Just as with the
'ustl' above, this structure must maintain four byte alignment.
*/
/* these are the currenly supported font specifiers. */
typedef UInt32 ATSFlatDataFontSpeciferType;
enum {
/* this specifier allows the storage of font data based on name data. This*/
/* uses the stuctures below to store the actual data itself.*/
kATSFlattenedFontSpecifierRawNameData = 'namd'
};
/*
this is the main header for the font data. It dictates what type of data
is stored. The actual data stored must match the type specified by the
nameSpecType.
*/
struct ATSFlatDataFontNameDataHeader {
/* the type of data that is flattened in this structure*/
ATSFlatDataFontSpeciferType nameSpecifierType;
/* the size of the data that is flattened in this structre, not including */
/* any padding bytes that may be necessary to achive the four byte */
/* alignment of the data, unless they are specified as part of structure, */
/* such as with the ATSFlatDataFontSpecRawNameData structure.*/
UInt32 nameSpecifierSize;
/* after this header comes the flattened font name data which matches*/
/* the type specified by the nameSpecifierType above. For instance, if */
/* the nameSpecType is kATSFlattenedFontNameSpecifierRawNameData, the*/
/* structure that immediately follows this would be a*/
/* ATSFlatDataFontNameRawNameDataHeader structure. */
};
typedef struct ATSFlatDataFontNameDataHeader ATSFlatDataFontNameDataHeader;
/*
the next two structures are only used when the nameSpecType is set to
kATSFlattenedFontSpecifierRawNameData. They are setup to store multiple
font name table entries for the purposes of reconstructing an ATSUFontID
for (hopefully) the same font some time in the future.
*/
/* this is the structure in which raw font name data is actually stored. */
struct ATSFlatDataFontSpecRawNameData {
/* the type of name being specified*/
FontNameCode fontNameType;
/* the platform type of the font name, whether it be Unicode, Mac, etc. */
/* This should be specified if known. If not known, then specify*/
/* kFontNoPlatform, but then all matching will be done based on the first*/
/* font in the name table matching the other parameters.*/
FontPlatformCode fontNamePlatform;
/* the script code of the font<6E>s name based on the platform that was passed*/
/* in above. If set to kFontNoScript, then the name will be matched based*/
/* on the first font in the name table matching the other font name*/
/* parameters.*/
FontScriptCode fontNameScript;
/* the language of the font name. If set to kFontNoLanguage, then the name */
/* will be matched based on the first font in the name table matching the*/
/* other font name parameters.*/
FontLanguageCode fontNameLanguage;
/* the length of the font name in bytes, not including any padding bytes*/
/* added to maintain the four byte alignment*/
UInt32 fontNameLength;
/* after the name length comes the actual font name data itself, plus any*/
/* padding bytes needed to maintain the four byte alignment.*/
};
typedef struct ATSFlatDataFontSpecRawNameData ATSFlatDataFontSpecRawNameData;
/*
this is a header structure that defines some things constant throughout
the entire search for the font name, as well as the array of
ATSFlatDataFontNameData structures. In order to gaurantee that the same font
will be used, more than one name specifer should be stored. The standard ATSUI
style run flattening and parsing functions, ATSUFlattenStyleRunsToStream and
ATSUUnflattenStyleRunsFromStream. These will store both the font's full name
(kFontFullName) as well as the font's manufacturer name (kFontManufacturerName)
and match fonts based on both of
these.
*/
struct ATSFlatDataFontSpecRawNameDataHeader {
/* the number of flattened font names. There must be at least one flattened */
/* font name, otherwise the structure is malformed.*/
UInt32 numberOfFlattenedNames;
/* the first in an array of possibly many font name specifiers - depending*/
/* on how specific the caller wants this. There must be one */
/* ATSFlatDataFontNameData structure for each numberOfFlattenedNames*/
/* above.*/
ATSFlatDataFontSpecRawNameData nameDataArray[1];
};
typedef struct ATSFlatDataFontSpecRawNameDataHeader ATSFlatDataFontSpecRawNameDataHeader;
/* ---------------------------------------------------------------------------- */
/* Style Flattening and Parsing Functions */
/* ---------------------------------------------------------------------------- */
#pragma pack(pop)
#ifdef __cplusplus
}
#endif
#endif /* __ATSUNICODEFLATTENING__ */

View File

@@ -0,0 +1,24 @@
/*
File: QD/ATSUnicodeFonts.h
Contains: ATSUI font handling functions.
Version: Quickdraw-291~1
Copyright: <20> 2003-2008 by Apple Inc. all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATSUNICODEFONTS__
#define __ATSUNICODEFONTS__
#ifndef __ATSUNICODETYPES__
#include <ATSUI/ATSUnicodeTypes.h>
#endif
#endif /* __ATSUNICODEFONTS__ */

View File

@@ -0,0 +1,275 @@
/*
File: QD/ATSUnicodeGlyphs.h
Contains: ATSUI glyph handling functions.
Version: Quickdraw-291~1
Copyright: <20> 2003-2008 by Apple Inc. all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATSUNICODEGLYPHS__
#define __ATSUNICODEGLYPHS__
#ifndef __ATSUNICODETYPES__
#include <ATSUI/ATSUnicodeTypes.h>
#endif
/* ---------------------------------------------------------------------------- */
/* ATSUI glyph metrics */
/* ---------------------------------------------------------------------------- */
#include <AvailabilityMacros.h>
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*
* ATSQuadraticNewPathProcPtr
*
* Discussion:
* A pointer to a client supplied callback function for handling
* glyph curve drawing operations. This callback handles operations
* to start a new drawing path.
*
* Parameters:
*
* callBackDataPtr:
* A pointer to any application specific data that may have been
* passed to the callbacks through the iCallbackDataPtr parameter
* of the ATSUGlyphGetQuadraticPaths function.
*
* Result:
* Return status. Pass any errors you wish to propagate back to the
* original caller of ATSUGlyphGetQuadraticPaths through this return
* value. Note that any nonzero result from this callback will halt
* the curve drawing process.
*/
typedef CALLBACK_API( OSStatus , ATSQuadraticNewPathProcPtr )(void * callBackDataPtr);
typedef STACK_UPP_TYPE(ATSQuadraticNewPathProcPtr) ATSQuadraticNewPathUPP;
/*
* ATSQuadraticLineProcPtr
*
* Discussion:
* A pointer to a client supplied callback function for handling
* glyph curve drawing operations. This callback handles operations
* to draw straight lines.
*
* Parameters:
*
* pt1:
* The starting point of the line.
*
* pt2:
* The end point of the line.
*
* callBackDataPtr:
* A pointer to any application specific data that may have been
* passed to the callbacks through the iCallbackDataPtr parameter
* of the ATSUGlyphGetQuadraticPaths function.
*
* Result:
* Return status. Pass any errors you wish to propagate back to the
* original caller of ATSUGlyphGetQuadraticPaths through this return
* value. Note that any nonzero result from this callback will halt
* the curve drawing process.
*/
typedef CALLBACK_API( OSStatus , ATSQuadraticLineProcPtr )(const Float32Point *pt1, const Float32Point *pt2, void *callBackDataPtr);
typedef STACK_UPP_TYPE(ATSQuadraticLineProcPtr) ATSQuadraticLineUPP;
/*
* ATSQuadraticCurveProcPtr
*
* Discussion:
* A pointer to a client supplied callback function for handling
* glyph curve drawing operations. This callback handles operations
* to draw curves. The curve is a quadratic patch specified by a
* start point (pt1), and end point (pt2), and a single control
* point (controlPt).
*
* Parameters:
*
* pt1:
* The starting point of the curve.
*
* controlPt:
* The off-curve control point.
*
* pt2:
* The end point of the curve.
*
* callBackDataPtr:
* A pointer to any application specific data that may have been
* passed to the callbacks through the iCallbackDataPtr parameter
* of the ATSUGlyphGetQuadraticPaths function.
*
* Result:
* Return status. Pass any errors you wish to propagate back to the
* original caller of ATSUGlyphGetQuadraticPaths through this return
* value. Note that any nonzero result from this callback will halt
* the curve drawing process.
*/
typedef CALLBACK_API( OSStatus , ATSQuadraticCurveProcPtr )(const Float32Point *pt1, const Float32Point *controlPt, const Float32Point *pt2, void *callBackDataPtr);
typedef STACK_UPP_TYPE(ATSQuadraticCurveProcPtr) ATSQuadraticCurveUPP;
/*
* ATSQuadraticClosePathProcPtr
*
* Discussion:
* A pointer to a client supplied callback function for handling
* glyph curve drawing operations. This callback handles operations
* to close the current drawing path.
*
* Parameters:
*
* callBackDataPtr:
* A pointer to any application specific data that may have been
* passed to the callbacks through the iCallbackDataPtr parameter
* of the ATSUGlyphGetQuadraticPaths function.
*
* Result:
* Return status. Pass any errors you wish to propagate back to the
* original caller of ATSUGlyphGetQuadraticPaths through this return
* value. Note that any nonzero result from this callback will halt
* the curve drawing process.
*/
typedef CALLBACK_API( OSStatus , ATSQuadraticClosePathProcPtr )(void * callBackDataPtr);
typedef STACK_UPP_TYPE(ATSQuadraticClosePathProcPtr) ATSQuadraticClosePathUPP;
/*
* ATSCubicMoveToProcPtr
*
* Discussion:
* A pointer to a client supplied callback function for handling
* glyph curve drawing operations. This callback handles operations
* to move the current pen location.
*
* Parameters:
*
* pt:
* The point to which to move the current pen location.
*
* callBackDataPtr:
* A pointer to any application specific data that may have been
* passed to the callbacks through the iCallbackDataPtr parameter
* of the ATSUGlyphGetCubicPaths function.
*
* Result:
* Return status. Pass any errors you wish to propagate back to the
* original caller of ATSUGlyphGetCubicPaths through this return
* value. Note that any nonzero result from this callback will halt
* the curve drawing process.
*/
typedef CALLBACK_API( OSStatus , ATSCubicMoveToProcPtr )(const Float32Point *pt, void *callBackDataPtr);
typedef STACK_UPP_TYPE(ATSCubicMoveToProcPtr) ATSCubicMoveToUPP;
/*
* ATSCubicLineToProcPtr
*
* Discussion:
* A pointer to a client supplied callback function for handling
* glyph curve drawing operations. This callback handles operations
* to draw straight lines.
*
* Parameters:
*
* pt:
* The end point of the line to be drawn. The starting point is
* whatever the current pen position is.
*
* callBackDataPtr:
* A pointer to any application specific data that may have been
* passed to the callbacks through the iCallbackDataPtr parameter
* of the ATSUGlyphGetCubicPaths function.
*
* Result:
* Return status. Pass any errors you wish to propagate back to the
* original caller of ATSUGlyphGetCubicPaths through this return
* value. Note that any nonzero result from this callback will halt
* the curve drawing process.
*/
typedef CALLBACK_API( OSStatus , ATSCubicLineToProcPtr )(const Float32Point *pt, void *callBackDataPtr);
typedef STACK_UPP_TYPE(ATSCubicLineToProcPtr) ATSCubicLineToUPP;
/*
* ATSCubicCurveToProcPtr
*
* Discussion:
* A pointer to a client supplied callback function for handling
* glyph curve drawing operations. This callback handles operations
* to draw a curve. The curve is a Bezier patch defined by two
* off-curve control points (pt1 and pt2), and an endpoint (pt3).
* The starting point is whatever the current pen position is.
*
* Parameters:
*
* pt1:
* The first off-curve control point.
*
* pt2:
* The second off-curve control point.
*
* pt3:
* The end point of the curve.
*
* callBackDataPtr:
* A pointer to any application specific data that may have been
* passed to the callbacks through the iCallbackDataPtr parameter
* of the ATSUGlyphGetCubicPaths function.
*
* Result:
* Return status. Pass any errors you wish to propagate back to the
* original caller of ATSUGlyphGetCubicPaths through this return
* value. Note that any nonzero result from this callback will halt
* the curve drawing process.
*/
typedef CALLBACK_API( OSStatus , ATSCubicCurveToProcPtr )(const Float32Point *pt1, const Float32Point *pt2, const Float32Point *pt3, void *callBackDataPtr);
typedef STACK_UPP_TYPE(ATSCubicCurveToProcPtr) ATSCubicCurveToUPP;
/*
* ATSCubicClosePathProcPtr
*
* Discussion:
* A pointer to a client supplied callback function for handling
* glyph curve drawing operations. This callback handles operations
* to close the current drawing path.
*
* Parameters:
*
* callBackDataPtr:
* A pointer to any application specific data that may have been
* passed to the callbacks through the iCallbackDataPtr parameter
* of the ATSUGlyphGetCubicPaths function.
*
* Result:
* Return status. Pass any errors you wish to propagate back to the
* original caller of ATSUGlyphGetCubicPaths through this return
* value. Note that any nonzero result from this callback will halt
* the curve drawing process.
*/
typedef CALLBACK_API( OSStatus , ATSCubicClosePathProcPtr )(void * callBackDataPtr);
typedef STACK_UPP_TYPE(ATSCubicClosePathProcPtr) ATSCubicClosePathUPP;
#ifdef __cplusplus
}
#endif
#endif /* __ATSUNICODEGLYPHS__ */

View File

@@ -0,0 +1,25 @@
/*
File: QD/ATSUnicodeObjects.h
Contains: ATSUI object manipulation functions.
Version: Quickdraw-291~1
Copyright: <20> 2003-2008 by Apple Inc. all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATSUNICODEOBJECTS__
#define __ATSUNICODEOBJECTS__
#ifndef __ATSUNICODETYPES__
#include <ATSUI/ATSUnicodeTypes.h>
#endif
#endif /* __ATSUNICODEOBJECTS__ */

View File

@@ -0,0 +1,244 @@
--- !tapi-tbd
tbd-version: 4
targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
uuids:
- target: x86_64-macos
value: 7C4AC061-D7FA-336E-9BB6-52DAEE31BC8E
- target: arm64-macos
value: 00000000-0000-0000-0000-000000000000
- target: arm64e-macos
value: B777E73E-2BEC-33F6-A2F4-8E88334C3C46
install-name: '/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices'
current-version: 738
parent-umbrella:
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
umbrella: ApplicationServices
exports:
- targets: [ x86_64-macos, arm64e-macos, arm64-macos ]
symbols: [ _AXAPIEnabled, _AXIsProcessTrusted, _AXIsProcessTrustedWithOptions,
_AXMakeProcessTrusted, _AXObserverAddNotification, _AXObserverAddNotificationAsync,
_AXObserverCreate, _AXObserverCreateWithInfoCallback, _AXObserverGetRunLoopSource,
_AXObserverGetTypeID, _AXObserverRemoveNotification, _AXObserverRemoveNotificationAsync,
_AXSerializeCFType, _AXTextMarkerCreate, _AXTextMarkerGetBytePtr,
_AXTextMarkerGetLength, _AXTextMarkerGetTypeID, _AXTextMarkerRangeCopyEndMarker,
_AXTextMarkerRangeCopyStartMarker, _AXTextMarkerRangeCreate,
_AXTextMarkerRangeCreateWithBytes, _AXTextMarkerRangeGetTypeID,
_AXUIElementCopyActionDescription, _AXUIElementCopyActionNames,
_AXUIElementCopyAttributeNames, _AXUIElementCopyAttributeValue,
_AXUIElementCopyAttributeValues, _AXUIElementCopyElementAtPosition,
_AXUIElementCopyHierarchy, _AXUIElementCopyMultipleAttributeValues,
_AXUIElementCopyParameterizedAttributeNames, _AXUIElementCopyParameterizedAttributeValue,
_AXUIElementCreateApplication, _AXUIElementCreateSystemWide,
_AXUIElementGetAttributeValueCount, _AXUIElementGetPid, _AXUIElementGetTypeID,
_AXUIElementIsAttributeSettable, _AXUIElementPerformAction,
_AXUIElementPostKeyboardEvent, _AXUIElementSetAttributeValue,
_AXUIElementSetMessagingTimeout, _AXUnserializeCFType, _AXValueCreate,
_AXValueGetType, _AXValueGetTypeID, _AXValueGetValue, _ApplicationTypeGet,
_ApplicationTypeSet, _CGPointInIconRef, _CGRectInIconRef,
_CopyLabelColorAndName, _CopyProcessName, _CoreAppearanceGetFontCGStyleRef,
_CoreAppearanceGetFontShadowOutsets, _CoreAppearanceGetFontSize,
_CoreAppearanceGetQDFontForScript, _CoreCursorCopyImages,
_CoreCursorGetData, _CoreCursorGetDataSize, _CoreCursorSet,
_CoreCursorSetAndReturnSeed, _CoreCursorUnregisterAll, _CoreDockAddFileToDock,
_CoreDockBounceAppTile, _CoreDockCompositeProcessImage, _CoreDockCopyPreferences,
_CoreDockCopyWorkspacesAppBindings, _CoreDockCreateDragTrashContext,
_CoreDockDisableExposeKeysIfNecessary, _CoreDockGetAutoHideEnabled,
_CoreDockGetContainerRect, _CoreDockGetDashboardInDock, _CoreDockGetEffect,
_CoreDockGetExposeCornerActions, _CoreDockGetExposeCornerActionsWithModifiers,
_CoreDockGetItemDockContext, _CoreDockGetItemDockWindow, _CoreDockGetMagnificationSize,
_CoreDockGetMinimizeInPlace, _CoreDockGetOrientationAndPinning,
_CoreDockGetProcessContext, _CoreDockGetProcessWindow, _CoreDockGetRect,
_CoreDockGetRectAndOrientation, _CoreDockGetRectAndReason,
_CoreDockGetSpringLoadingTime, _CoreDockGetTileSize, _CoreDockGetTrashWindow,
_CoreDockGetWorkspacesCount, _CoreDockGetWorkspacesEnabled,
_CoreDockGetWorkspacesKeyBindings, _CoreDockIsDockRunning,
_CoreDockIsLaunchAnimationsEnabled, _CoreDockIsMagnificationEnabled,
_CoreDockIsSpringLoadingEnabled, _CoreDockMinimizeItemWithTitle,
_CoreDockMinimizeItemWithTitleAsync, _CoreDockMinimizeItemsWithTitle,
_CoreDockMinimizeItemsWithTitleAsync, _CoreDockPreventCommunicationWithDock,
_CoreDockRegisterClientWithRunLoop, _CoreDockReleaseDragTrashContext,
_CoreDockReleaseItemDockContext, _CoreDockReleaseItemDockWindow,
_CoreDockReleaseProcessContext, _CoreDockReleaseProcessWindow,
_CoreDockRemoveItem, _CoreDockRenderWindowIntoContext, _CoreDockRestoreItem,
_CoreDockRestoreItemAsync, _CoreDockRestoreItemWithOrder,
_CoreDockRestoreItemWithOrderAsync, _CoreDockRestoreProcessImage,
_CoreDockRevealWindowForShowDesktop, _CoreDockSendDragWindowMessage,
_CoreDockSendNotification, _CoreDockSetAutoHideEnabled, _CoreDockSetDashboardInDock,
_CoreDockSetEffect, _CoreDockSetExposeCornerAction, _CoreDockSetExposeCornerActionWithModifier,
_CoreDockSetItemTitle, _CoreDockSetLaunchAnimationsEnabled,
_CoreDockSetMagnificationEnabled, _CoreDockSetMagnificationSize,
_CoreDockSetMiniView, _CoreDockSetMinimizeInPlace, _CoreDockSetOrientationAndPinning,
_CoreDockSetPreferences, _CoreDockSetProcessImage, _CoreDockSetProcessLabel,
_CoreDockSetProcessOpenRecents, _CoreDockSetShowDesktopCallback,
_CoreDockSetSpringLoadingEnabled, _CoreDockSetSpringLoadingTime,
_CoreDockSetSpringWindowCallbacks, _CoreDockSetTileSize, _CoreDockSetTrashFull,
_CoreDockSetWindowLabel, _CoreDockSetWorkspacesAppBindings,
_CoreDockSetWorkspacesCount, _CoreDockSetWorkspacesEnabled,
_CoreDockSetWorkspacesKeyBindings, _CoreDockUpdateWindow,
_CoreDragAcceptDrag, _CoreDragCancelDrag, _CoreDragChangeBehaviors,
_CoreDragCleanDragState, _CoreDragClearAllImageOverrides,
_CoreDragCopyTrashLabel, _CoreDragCreate, _CoreDragCreateWithPasteboard,
_CoreDragCreateWithPasteboardRef, _CoreDragDispose, _CoreDragEnableSpringLoading,
_CoreDragGetAllowableActions, _CoreDragGetAttributes, _CoreDragGetCurrentDrag,
_CoreDragGetDragWindow, _CoreDragGetDropActions, _CoreDragGetDropLocation,
_CoreDragGetForce, _CoreDragGetForceStage, _CoreDragGetItemBounds,
_CoreDragGetModifiers, _CoreDragGetMouseLocation, _CoreDragGetOrigin,
_CoreDragGetPasteboard, _CoreDragGetPasteboardRef, _CoreDragGetSpringLoadingAttributes,
_CoreDragGetStandardDropLocation, _CoreDragGetValueForKey,
_CoreDragHasImageOverrides, _CoreDragInstallContextReceiveMessageHandlerOnConnection,
_CoreDragInstallContextTrackingHandlerOnConnection, _CoreDragInstallReceiveHandler,
_CoreDragInstallReceiveHandlerOnConnection, _CoreDragInstallReceiveMessageHandler,
_CoreDragInstallReceiveMessageHandlerOnConnection, _CoreDragInstallTrackingHandler,
_CoreDragInstallTrackingHandlerOnConnection, _CoreDragIsTrashLabelSet,
_CoreDragItemGetImageComponents, _CoreDragItemGetScreenFrame,
_CoreDragItemHasAlternate, _CoreDragItemSetCGImage, _CoreDragItemSetImage,
_CoreDragItemSetImageComponents, _CoreDragRefSetImageDataForItem,
_CoreDragRegisterClient, _CoreDragRegisterClientInModes, _CoreDragRegisterClientWithOptions,
_CoreDragReleaseImageData, _CoreDragRemoveReceiveHandler,
_CoreDragRemoveReceiveHandlerOnConnection, _CoreDragRemoveReceiveMessageHandler,
_CoreDragRemoveReceiveMessageHandlerOnConnection, _CoreDragRemoveTrackingHandler,
_CoreDragRemoveTrackingHandlerOnConnection, _CoreDragRequestDragCompleteMessage,
_CoreDragSetAllowableActions, _CoreDragSetAttribute, _CoreDragSetCGEventInputProc,
_CoreDragSetCGEventProcs, _CoreDragSetCGImage, _CoreDragSetCGImageWithScale,
_CoreDragSetDestClippingRect, _CoreDragSetDragRegion, _CoreDragSetDragRegionWithScale,
_CoreDragSetDragWindow, _CoreDragSetDropActions, _CoreDragSetDropLocation,
_CoreDragSetDropProc, _CoreDragSetEventProc, _CoreDragSetExtendedEventProc,
_CoreDragSetImage, _CoreDragSetImageOptions, _CoreDragSetInputProc,
_CoreDragSetItemBounds, _CoreDragSetMouseLocation, _CoreDragSetOrigin,
_CoreDragSetRootCALayer, _CoreDragSetSourceClippingRect, _CoreDragSetStandardDropLocation,
_CoreDragSetTrashDrawProc, _CoreDragSetTrashLabel, _CoreDragSetValueForKey,
_CoreDragStartDragging, _CoreDragUpdatesBegin, _CoreDragUpdatesCommit,
_CoreGetDragInfo, _CoreImagingCreateImage, _CoreMenuCreateKeyEquivalentString,
_CoreMenuCreateVirtualKeyString, _CoreMenuExtraAddMenuExtra,
_CoreMenuExtraGetMenuExtra, _CoreMenuExtraRemoveMenuExtra,
_CoreMenuGetVirtualKeyMap, _CreatePasteboardFlavorTypeName,
_DesktopPictureCopyDisplay, _DesktopPictureCopyDisplayForSpace,
_DesktopPictureCopyValue, _DesktopPictureSetDisplay, _DesktopPictureSetDisplayForSpace,
_DesktopPictureSetValue, _ExitToShell, _GetApplicationIsDaemon,
_GetCurrentProcess, _GetFrontProcess, _GetGlobalIconImagesCacheMaxEntriesAndMaxDataSize,
_GetIconFamilyData, _GetIconRefVariant, _GetNextProcess, _GetProcessBundleLocation,
_GetProcessForPID, _GetProcessInformation, _GetProcessPID,
_HIS_XPC_CFNotificationCenterPostNotification, _HIS_XPC_CFPreferencesCopyValue,
_HIS_XPC_CFPreferencesSetValue, _HIS_XPC_CFPreferencesSynchronize,
_HIS_XPC_CopyCapsLockKeyLabel, _HIS_XPC_CopyMacManagerPrefs,
_HIS_XPC_GetApplicationPolicyForURLs, _HIS_XPC_GetCapsLockLanguageSwitch,
_HIS_XPC_GetCapsLockModifierState, _HIS_XPC_GetGlobeKeyAvailability,
_HIS_XPC_GetMicKeyAvailability, _HIS_XPC_RevealFileInFinder,
_HIS_XPC_SendAppleEventToSystemProcess, _HIS_XPC_SetCapsLockDelayOverride,
_HIS_XPC_SetCapsLockLED, _HIS_XPC_SetCapsLockLEDInhibit, _HIS_XPC_SetCapsLockModifierState,
_HIS_XPC_SetNetworkLocation, _HIShapeContainsPoint, _HIShapeCreateCopy,
_HIShapeCreateCopyAsQDRgn, _HIShapeCreateDifference, _HIShapeCreateEmpty,
_HIShapeCreateIntersection, _HIShapeCreateMutable, _HIShapeCreateMutableCopy,
_HIShapeCreateMutableWithRect, _HIShapeCreateUnion, _HIShapeCreateWithQDRgn,
_HIShapeCreateWithRect, _HIShapeCreateXor, _HIShapeDifference,
_HIShapeEnumerate, _HIShapeGetAsQDRgn, _HIShapeGetBounds,
_HIShapeGetTypeID, _HIShapeInset, _HIShapeIntersect, _HIShapeIntersectsRect,
_HIShapeIsEmpty, _HIShapeIsRectangular, _HIShapeOffset, _HIShapeReplacePathInCGContext,
_HIShapeSetEmpty, _HIShapeSetWithShape, _HIShapeUnion, _HIShapeUnionWithRect,
_HIShapeXor, _ICAddMapEntry, _ICAddProfile, _ICBegin, _ICCountMapEntries,
_ICCountPref, _ICCountProfiles, _ICCreateGURLEvent, _ICDeleteMapEntry,
_ICDeletePref, _ICDeleteProfile, _ICEditPreferences, _ICEnd,
_ICFindPrefHandle, _ICGetConfigName, _ICGetCurrentProfile,
_ICGetDefaultPref, _ICGetIndMapEntry, _ICGetIndPref, _ICGetIndProfile,
_ICGetMapEntry, _ICGetPerm, _ICGetPref, _ICGetPrefHandle,
_ICGetProfileName, _ICGetSeed, _ICGetVersion, _ICLaunchURL,
_ICMapEntriesFilename, _ICMapEntriesTypeCreator, _ICMapFilename,
_ICMapTypeCreator, _ICParseURL, _ICSendGURLEvent, _ICSetCurrentProfile,
_ICSetMapEntry, _ICSetPref, _ICSetPrefHandle, _ICSetProfileName,
_ICStart, _ICStop, _IconRefContainsCGPoint, _IconRefIntersectsCGRect,
_IconRefToHIShape, _IconRefToIconFamily, _IsIconRefMaskEmpty,
_IsProcessManagerInitialized, _IsProcessVisible, _KillProcess,
_LaunchApplication, _LaunchProcess, _LaunchProcessAsync, _MSHCreateMIGServerSource,
_MSHCreateMachServerSource, _MSHGetMachPortFromSource, _MSHMIGSourceSetNoSendersCallback,
_MSHMIGSourceSetSendOnceCallback, _PasteboardClear, _PasteboardCopyItemFlavorData,
_PasteboardCopyItemFlavors, _PasteboardCopyName, _PasteboardCopyPasteLocation,
_PasteboardCreate, _PasteboardGetCFPasteboard, _PasteboardGetItemCount,
_PasteboardGetItemFlavorFlags, _PasteboardGetItemIdentifier,
_PasteboardGetTypeID, _PasteboardPutItemFlavor, _PasteboardResolvePromises,
_PasteboardSetPasteLocation, _PasteboardSetPromiseKeeper,
_PasteboardSynchronize, _PasteboardToggleDuplicateFlavorCheck,
_PlotIconRefInContext, _ProcessInformationCopyDictionary,
_SXArbitrationAddQueuedOutputRequest, _SXArbitrationCancelQueuedRequest,
_SXArbitrationCreateServerSource, _SXArbitrationIsQueuedRequestPending,
_SXArbitrationRegisterOutputStarting, _SXArbitrationRegisterOutputStopped,
_SameProcess, _SerializeCFType, _SetApplicationIsDaemon, _SetFrontProcess,
_SetFrontProcessWithOptions, _SetGlobalIconImagesCacheMaxEntriesAndMaxDataSize,
_SetIconFamilyData, _SetLabelColorAndName, _ShowHideDrag,
_ShowHideProcess, _StartIPCPing, _TransformProcessType, _TranslationCopyDestinationType,
_TranslationCopySourceType, _TranslationCreate, _TranslationCreateWithSourceArray,
_TranslationGetTranslationFlags, _TranslationGetTypeID, _TranslationPerformForData,
_TranslationPerformForFile, _TranslationPerformForURL, _UAZoomChangeFocus,
_UAZoomEnabled, _UnserializeCFType, _WakeUpProcess, __AXCopyActionDescription,
__AXCopyChildrenHash, __AXCopyRoleDescription, __AXCopyRoleDescriptionWithSubrole,
__AXCopyTitle, __AXCreateElementOrdering, __AXCurrentRequestCanReturnInspectionContent,
__AXCurrentRequestCanReturnProtectedContent, __AXGetClientForCurrentRequestUntrusted,
__AXInterfaceCopyCursorColorFill, __AXInterfaceCopyCursorColorOutline,
__AXInterfaceCursorIsOverridden, __AXInterfaceCursorSetAndReturnSeed,
__AXInterfaceGetBristolEnabled, __AXInterfaceGetClassicInvertColorEnabled,
__AXInterfaceGetDifferentiateWithoutColorEnabled, __AXInterfaceGetIncreaseContrastEnabled,
__AXInterfaceGetReduceMotionEnabled, __AXInterfaceGetReduceTransparencyEnabled,
__AXInterfaceGetRichmondEnabled, __AXInterfaceGetShowToolbarButtonShapesEnabled,
__AXInterfaceGetShowWindowTitlebarIconsEnabled, __AXInterfaceSetClassicInvertColorEnabled,
__AXInterfaceSetCursorColorFill, __AXInterfaceSetCursorColorOutline,
__AXInterfaceSetCursorIsOverridden, __AXInterfaceSetDifferentiateWithoutColorEnabled,
__AXInterfaceSetDifferentiateWithoutColorEnabledOverride,
__AXInterfaceSetIncreaseContrastEnabled, __AXInterfaceSetIncreaseContrastEnabledOverride,
__AXInterfaceSetReduceMotionEnabled, __AXInterfaceSetReduceMotionEnabledOverride,
__AXInterfaceSetReduceTransparencyEnabled, __AXInterfaceSetReduceTransparencyEnabledOverride,
__AXInterfaceSetShowToolbarButtonShapesEnabled, __AXInterfaceSetShowToolbarButtonShapesEnabledOverride,
__AXInterfaceSetShowWindowTitlebarIconsEnabled, __AXInterfaceSetShowWindowTitlebarIconsEnabledOverride,
__AXIsAppleClientForCurrentRequestUntrusted, __AXRegisterControlComputerAccess,
__AXSetAuditTokenIsAuthenticatedCallback, __AXSetClientIdentificationOverride,
__AXShouldElementBeIgnoredForNavigation, __AXUIElementCopyElementAtPositionIncludeIgnored,
__AXUIElementCreateApplicationWithPresenterPid, __AXUIElementCreateWithData,
__AXUIElementCreateWithDataAndPid, __AXUIElementCreateWithDataAndPresenterPid,
__AXUIElementCreateWithPtr, __AXUIElementCreateWithRemoteToken,
__AXUIElementGetActualPid, __AXUIElementGetData, __AXUIElementGetIsProcessSuspended,
__AXUIElementGetWindow, __AXUIElementNotifyProcessSuspendStatus,
__AXUIElementPostNotification, __AXUIElementPostNotificationForObservedElement,
__AXUIElementPostNotificationWithInfo, __AXUIElementRegisterServerWithRunLoop,
__AXUIElementRemoteTokenCreate, __AXUIElementRequestServicedBySecondaryAXThread,
__AXUIElementUnregisterServer, __AXUIElementUseSecondaryAXThread,
__AddLabelsChangedCallback, __CopyProcessBundleLocationURL,
__GDBIconsCGCacheList, __GetApplicationDesiresAttention, __GetFrontUIProcess,
__HIShapeCreateWithCGImage, __HIShapeCreateWithCGSRegionObj,
__HIShapeGetNative, __HIShapeOutsetToPixelBoundary, __HIShapeSetImmutable,
__HIShapeSetShapeWithOffset, __HideOtherApplications, __ICCopyMailHostName,
__ICCopyMailUserName, __ISCreateCGImageForType, __ISCreateCGImageForTypeAtScale,
__IconServicesGetCGImageRefFromIconRef, __IconServicesGetCGImageRefFromURL,
__InstallGURLEventHandler, __PIPZoomingEnabled, __RegisterApplication,
__RegisterAsSessionLauncherApplication, __RemoveLabelsChangedCallback,
__SetApplicationDesiresAttention, __SetFrontProcessWithOptions,
__SetHLTBWakeUpHook, __ShowAllApplications, __SignalApplicationReady,
__UAZoomFocusChange, __UAZoomFocusChangeAnchored, __UAZoomFocusChangeHighlightRect,
__UAZoomFocusChangeHighlightRectAnchored, __UAZoomingEnabled,
__UnregisterAsSessionLauncherApplication, _gDockDragCallback,
_gDockDragWindowCallback, _kAXAttachmentTextAttribute, _kAXAutocorrectedTextAttribute,
_kAXBackgroundColorTextAttribute, _kAXElementOrderHorizontalKey,
_kAXElementOrderVerticalKey, _kAXElementToFocusForLayoutChangeKey,
_kAXFontFamilyKey, _kAXFontNameKey, _kAXFontSizeKey, _kAXFontTextAttribute,
_kAXForegoundColorTextAttribute, _kAXForegroundColorTextAttribute,
_kAXInterfaceBristolKey, _kAXInterfaceClassicInvertColorKey,
_kAXInterfaceClassicInvertColorStatusDidChangeNotification,
_kAXInterfaceCursorStatusDidChangeNotification, _kAXInterfaceDifferentiateWithoutColorKey,
_kAXInterfaceDifferentiateWithoutColorStatusDidChangeNotification,
_kAXInterfaceIncreaseContrastKey, _kAXInterfaceIncreaseContrastStatusDidChangeNotification,
_kAXInterfaceReduceMotionKey, _kAXInterfaceReduceMotionStatusDidChangeNotification,
_kAXInterfaceReduceTransparencyKey, _kAXInterfaceReduceTransparencyStatusDidChangeNotification,
_kAXInterfaceShowToolbarButtonShapesKey, _kAXInterfaceShowToolbarButtonShapesStatusDidChangeNotification,
_kAXInterfaceShowWindowTitlebarIconsKey, _kAXInterfaceShowWindowTitlebarIconsStatusDidChangeNotification,
_kAXLinkTextAttribute, _kAXListItemIndexTextAttribute, _kAXListItemLevelTextAttribute,
_kAXListItemPrefixTextAttribute, _kAXMarkedMisspelledTextAttribute,
_kAXMisspelledTextAttribute, _kAXNaturalLanguageTextAttribute,
_kAXParagraphStyleTextAttribute, _kAXReplacementStringTextAttribute,
_kAXShadowTextAttribute, _kAXStrikethroughColorTextAttribute,
_kAXStrikethroughTextAttribute, _kAXSuperscriptTextAttribute,
_kAXTextAlignmentAttribute, _kAXTextAlignmentKey, _kAXTrustedCheckOptionPrompt,
_kAXUIElementCopyHierarchyArrayAttributesKey, _kAXUIElementCopyHierarchyIncompleteResultKey,
_kAXUIElementCopyHierarchyMaxArrayCountKey, _kAXUIElementCopyHierarchyMaxDepthKey,
_kAXUIElementCopyHierarchyResultCountKey, _kAXUIElementCopyHierarchyResultErrorKey,
_kAXUIElementCopyHierarchyResultValueKey, _kAXUIElementCopyHierarchyReturnAttributeErrorsKey,
_kAXUIElementCopyHierarchySkipInspectionForAttributesKey,
_kAXUIElementCopyHierarchyTruncateStringsKey, _kAXUnderlineColorTextAttribute,
_kAXUnderlineTextAttribute, _kAXVisibleNameKey, _kAXVisualTextAlignmentKey ]
...

View File

@@ -0,0 +1,129 @@
/*
* AXActionConstants.h
* HIServices
*
* Copyright (c) 2004, 2012 Apple Inc. All rights reserved.
*
*/
#ifndef __AXACTIONCONSTANTS__
#define __AXACTIONCONSTANTS__
/*!
@header
@discussion
Many UIElements have a set of actions that they can perform. Actions are designed to be
simple. Actions roughly correspond to things you could do with a single click of the mouse
on the UIElement. Buttons and menu items, for example, have a single action: push or pick,
respectively. A scroll bar has several actions: page up, page down, up one line, down one line.
*/
/*
TBD: Explain general philosophy on whether to expose an action or not.
Our initial philopsophy is to not to have an action where there is a menu item
or button that does the same thing.
*/
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
/*! @group Standard Actions */
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
/*!
@defined kAXPressAction
@discussion
Simulate clicking the UIElement, such as a button.
*/
#define kAXPressAction CFSTR("AXPress")
/*!
@defined kAXIncrementAction
@discussion
Increment the value of the UIElement.
*/
#define kAXIncrementAction CFSTR("AXIncrement")
/*!
@defined kAXDecrementAction
@discussion
Decrement the value of the UIElement.
*/
#define kAXDecrementAction CFSTR("AXDecrement")
/* --Don't know if this is still correct. Is this what used to be kAXAcceptAction?-- */
/*!
@defined kAXConfirmAction
@discussion
Simulate pressing Return in the UIElement, such as a text field.
*/
#define kAXConfirmAction CFSTR("AXConfirm")
/*!
@defined kAXCancelAction
@discussion
Simulate a Cancel action, such as hitting the Cancel button.
*/
#define kAXCancelAction CFSTR("AXCancel")
/*!
@defined kAXShowAlternateUIAction
@discussion
Show alternate or hidden UI.
This is often used to trigger the same change that would occur on a mouse hover.
*/
#define kAXShowAlternateUIAction CFSTR("AXShowAlternateUI")
/*!
@defined kAXShowDefaultUIAction
@discussion
Show default UI.
This is often used to trigger the same change that would occur when a mouse hover ends.
*/
#define kAXShowDefaultUIAction CFSTR("AXShowDefaultUI")
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
/*! @group New Actions */
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
/* Need discussion for following */
/*!
@defined kAXRaiseAction
@discussion
*/
#define kAXRaiseAction CFSTR("AXRaise")
/* Need discussion for following */
/*!
@defined kAXShowMenuAction
@discussion
*/
#define kAXShowMenuAction CFSTR("AXShowMenu")
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
/*! @group Obsolete Actions */
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
/*!
@defined kAXPickAction
@discussion
Select the UIElement, such as a menu item.
*/
#define kAXPickAction CFSTR("AXPick")
#endif // __AXACTIONCONSTANTS__

View File

@@ -0,0 +1,18 @@
/*
* AXConstants.h
*
* Copyright (c) 2002, 2012 Apple Inc. All rights reserved.
*
*/
#ifndef __AXCONSTANTS__
#define __AXCONSTANTS__
#include <HIServices/AXRoleConstants.h>
#include <HIServices/AXAttributeConstants.h>
#include <HIServices/AXActionConstants.h>
#include <HIServices/AXNotificationConstants.h>
#include <HIServices/AXValueConstants.h>
#endif // __AXCONSTANTS__

View File

@@ -0,0 +1,87 @@
/*
* AXError.h
*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
*/
#ifndef __AXERROR__
#define __AXERROR__
#ifdef __cplusplus
extern "C" {
#endif
#include <CoreFoundation/CoreFoundation.h>
/*!
@header AXError.h
@discussion
These error codes can be returned from the accessibility functions defined in AXUIElement.h.
*/
/*!
@enum Accessibility Error Codes
@abstract Error codes returned by accessibility functions.
@discussion
*/
typedef CF_ENUM(SInt32, AXError) {
/*! No error occurred. */
kAXErrorSuccess = 0,
/*! A system error occurred, such as the failure to allocate an object. */
kAXErrorFailure = -25200,
/*! An illegal argument was passed to the function. */
kAXErrorIllegalArgument = -25201,
/*! The AXUIElementRef passed to the function is invalid. */
kAXErrorInvalidUIElement = -25202,
/*! The AXObserverRef passed to the function is not a valid observer. */
kAXErrorInvalidUIElementObserver = -25203,
/*! The function cannot complete because messaging failed in some way or because the application with which the function is communicating is busy or unresponsive. */
kAXErrorCannotComplete = -25204,
/*! The attribute is not supported by the AXUIElementRef. */
kAXErrorAttributeUnsupported = -25205,
/*! The action is not supported by the AXUIElementRef. */
kAXErrorActionUnsupported = -25206,
/*! The notification is not supported by the AXUIElementRef. */
kAXErrorNotificationUnsupported = -25207,
/*! Indicates that the function or method is not implemented (this can be returned if a process does not support the accessibility API). */
kAXErrorNotImplemented = -25208,
/*! This notification has already been registered for. */
kAXErrorNotificationAlreadyRegistered = -25209,
/*! Indicates that a notification is not registered yet. */
kAXErrorNotificationNotRegistered = -25210,
/*! The accessibility API is disabled (as when, for example, the user deselects "Enable access for assistive devices" in Universal Access Preferences). */
kAXErrorAPIDisabled = -25211,
/*! The requested value or AXUIElementRef does not exist. */
kAXErrorNoValue = -25212,
/*! The parameterized attribute is not supported by the AXUIElementRef. */
kAXErrorParameterizedAttributeUnsupported = -25213,
/*! Not enough precision. */
kAXErrorNotEnoughPrecision = -25214
};
#ifdef __cplusplus
}
#endif
#endif // __AXERROR__

View File

@@ -0,0 +1,341 @@
/*
* AXNotificationConstants.h
* HIServices
*
* Copyright (c) 2004, 2012 Apple Inc. All rights reserved.
*
*/
#ifndef __AXNOTIFICATIONCONSTANTS__
#define __AXNOTIFICATIONCONSTANTS__
#include <CoreFoundation/CFBase.h> /* CF_ENUM */
/*!
@header AXNotificationConstants.h
@discussion
Assistive applications can register to be notified about certain events in a target application. For example, creation of a window or the destruction
of a UIElement. To receive notifications you must first create an observer and specify a callback function; second, add the observer's run loop source
to the run loop on which you want the callback executed; and third, register the observer for one or more notifications.
When you create the observer, you specify the application being observed. An observer can receive notifications only from UIElements in that application.
To handle multiple applications, you have to create at least one observer per application.
When you register an observer for a notification, you specify the UIElement you are interested in observing. When you want to receive a notification from
any element in an application, use the application UIElement; you then receive the notification regardless of which element in the application sends the
notification. This is useful if the UIElement does not exist yet, such as when a new window is created, or if you care about state changes, such as the
keyboard focus moving, without having to observe every element separately. When the callback function is executed it is passed the UIElement that was
affected by the notification.
Observers are represented by the AXObserverRef type, which is a CFType. Like all CFTypes they are reference counted (CFRetain/CFRelease).
*/
/*-----------------------------------------*/
/*! @group Focus Notifications */
/*-----------------------------------------*/
/* Need discussion for following */
/*!
@defined kAXMainWindowChangedNotification
@abstract
Notification of a change in the main window.
@discussion
Value is the new main window UIElement or the
Application UIElement if there's no main window.
*/
#define kAXMainWindowChangedNotification CFSTR("AXMainWindowChanged")
/*!
@defined kAXFocusedWindowChangedNotification
@abstract Notification that the focused window changed.
*/
#define kAXFocusedWindowChangedNotification CFSTR("AXFocusedWindowChanged")
/*!
@defined kAXFocusedUIElementChangedNotification
@abstract Notification that the focused UI element has changed.
@discussion
Value is the new focused UIElement or
the Application UIElement if there's no focus
*/
#define kAXFocusedUIElementChangedNotification CFSTR("AXFocusedUIElementChanged")
/*-----------------------------------------*/
/*! @group Application Notifications */
/*-----------------------------------------*/
/*!
@defined kAXApplicationActivatedNotification
@abstract Notification that an application was activated.
@discussion Value is an application UIElement.
*/
#define kAXApplicationActivatedNotification CFSTR("AXApplicationActivated")
/*!
@defined kAXApplicationDeactivatedNotification
@abstract Notification that an application was deactivated.
@discussion
Value is an application UIElement
*/
#define kAXApplicationDeactivatedNotification CFSTR("AXApplicationDeactivated")
/*!
@defined kAXApplicationHiddenNotification
@abstract Notification that an application has been hidden.
@discussion
Value is an application UIElement
*/
#define kAXApplicationHiddenNotification CFSTR("AXApplicationHidden")
/*!
@defined kAXApplicationShownNotification
@abstract Notification that an application is no longer hidden.
@discussion
Value is an application UIElement
*/
#define kAXApplicationShownNotification CFSTR("AXApplicationShown")
/*-----------------------------------------*/
/*! @group Window Notifications */
/*-----------------------------------------*/
/*!
@defined kAXWindowCreatedNotification
@abstract Notification that a window was created.
@discussion
Value is a new window UIElement
*/
#define kAXWindowCreatedNotification CFSTR("AXWindowCreated")
/*!
@defined kAXWindowMovedNotification
@abstract Notification that a window moved.
@discussion
This notification is sent at the end of the window move, not continuously as the window is being moved.
Value is the moved window UIElement
*/
#define kAXWindowMovedNotification CFSTR("AXWindowMoved")
/*!
@defined kAXWindowResizedNotification
@abstract Notification that a window was resized.
@discussion
This notification is sent at the end of the window resize, not continuously as the window is being resized.
Value is the resized window UIElement
*/
#define kAXWindowResizedNotification CFSTR("AXWindowResized")
/*!
@defined kAXWindowMiniaturizedNotification
@abstract Notification that a window was minimized.
@discussion
Value is the minimized window UIElement
*/
#define kAXWindowMiniaturizedNotification CFSTR("AXWindowMiniaturized")
/*!
@defined kAXWindowDeminiaturizedNotification
@abstract Notification that a window is no longer minimized.
@discussion
Value is the unminimized window UIElement
*/
#define kAXWindowDeminiaturizedNotification CFSTR("AXWindowDeminiaturized")
/*---------------------------------------------------*/
/*! @group New Drawer, Sheet, and Help Notifications */
/*---------------------------------------------------*/
/*!
@defined kAXDrawerCreatedNotification
@abstract Notification that a drawer was created.
*/
#define kAXDrawerCreatedNotification CFSTR("AXDrawerCreated")
/*!
@defined kAXSheetCreatedNotification
@abstract Notification that a sheet was created.
*/
#define kAXSheetCreatedNotification CFSTR("AXSheetCreated")
/*!
@defined kAXHelpTagCreatedNotification
@abstract Notification that a help tag was created.
*/
#define kAXHelpTagCreatedNotification CFSTR("AXHelpTagCreated")
/*-----------------------------------------*/
/*! @group Element Notifications */
/*-----------------------------------------*/
/*!
@defined kAXValueChangedNotification
@discussion
This notification is sent when the value of the UIElement's <b>value</b> attribute has changed, not when the value of any other attribute has changed.
Value is the modified UIElement
*/
#define kAXValueChangedNotification CFSTR("AXValueChanged")
/*!
@defined kAXUIElementDestroyedNotification
@discussion
The returned UIElement is no longer valid in the target application. You can still use the local reference
with calls like CFEqual (for example, to remove it from a list), but you should not pass it to the accessibility APIs.
Value is the destroyed UIElement
*/
#define kAXUIElementDestroyedNotification CFSTR("AXUIElementDestroyed")
/*!
@defined kAXElementBusyChangedNotification
@abstract Notification that an element's busy state has changed.
@discussion
Value is the (un)busy UIElement.
*/
#define kAXElementBusyChangedNotification CFSTR("AXElementBusyChanged")
/*-----------------------------------------*/
/*! @group Menu Notifications */
/*-----------------------------------------*/
/*!
@defined kAXMenuOpenedNotification
@abstract Notification that a menu has been opened.
@discussion
Value is the opened menu UIElement.
*/
#define kAXMenuOpenedNotification CFSTR("AXMenuOpened")
/*!
@defined kAXMenuClosedNotification
@abstract Notification that a menu has been closed.
@discussion
Value is the closed menu UIElement.
*/
#define kAXMenuClosedNotification CFSTR("AXMenuClosed")
/*!
@defined kAXMenuItemSelectedNotification
@abstract Notification that a menu item has been seleted.
@discussion
Value is the selected menu item UIElement.
*/
#define kAXMenuItemSelectedNotification CFSTR("AXMenuItemSelected")
/*-----------------------------------------*/
/*! @group Table/outline notifications */
/*-----------------------------------------*/
/*! @abstract Notification that the number of rows in this table has changed.
*/
#define kAXRowCountChangedNotification CFSTR("AXRowCountChanged")
/*-----------------------------------------*/
/*! @group Outline notifications */
/*-----------------------------------------*/
/*! @abstract Notification that a row in an outline has been expanded.
@discussion
The value is the collapsed row UIElement.
*/
#define kAXRowExpandedNotification CFSTR("AXRowExpanded")
/*! @abstract Notification that a row in an outline has been collapsed.
@discussion
The value is the collapsed row UIElement.
*/
#define kAXRowCollapsedNotification CFSTR("AXRowCollapsed")
/*-----------------------------------------*/
/*! @group Cell-based table notifications */
/*-----------------------------------------*/
/*! @abstract Notification that the selected cells have changed.
*/
#define kAXSelectedCellsChangedNotification CFSTR("AXSelectedCellsChanged")
/*-----------------------------------------*/
/*! @group Layout area notifications */
/*-----------------------------------------*/
/*! @abstract Notification that the units have changed.
*/
#define kAXUnitsChangedNotification CFSTR("AXUnitsChanged")
/*! @abstract Notification that the selected children have moved.
*/
#define kAXSelectedChildrenMovedNotification CFSTR("AXSelectedChildrenMoved")
/*-----------------------------------------*/
/*! @group Other notifications */
/*-----------------------------------------*/
/*! @abstract Notification that a different subset of this element's children were selected.
*/
#define kAXSelectedChildrenChangedNotification CFSTR("AXSelectedChildrenChanged")
/*! @abstract Notification that this element has been resized.
*/
#define kAXResizedNotification CFSTR("AXResized")
/*! @abstract Notification that this element has moved.
*/
#define kAXMovedNotification CFSTR("AXMoved")
/*! @abstract Notification that an element was created.
*/
#define kAXCreatedNotification CFSTR("AXCreated")
/*! @abstract Notification that the set of selected rows changed.
*/
#define kAXSelectedRowsChangedNotification CFSTR("AXSelectedRowsChanged")
/*! @abstract Notification that the set of selected columns changed.
*/
#define kAXSelectedColumnsChangedNotification CFSTR("AXSelectedColumnsChanged")
/*! @abstract Notification that a different set of text was selected.
*/
#define kAXSelectedTextChangedNotification CFSTR("AXSelectedTextChanged")
/*! @abstract Notification that the title changed.
*/
#define kAXTitleChangedNotification CFSTR("AXTitleChanged")
/*! @abstract Notification that the layout changed.
*/
#define kAXLayoutChangedNotification CFSTR("AXLayoutChanged")
/*! @abstract Notification to request an announcement to be spoken.
*/
#define kAXAnnouncementRequestedNotification CFSTR("AXAnnouncementRequested")
/*! @abstract Notification info key used to specify an element.
*/
#define kAXUIElementsKey CFSTR("AXUIElementsKey")
/*! @abstract Notification info key used to specify a priority for the notification. See AXPriority.
*/
#define kAXPriorityKey CFSTR("AXPriorityKey")
/*! @abstract Notification info key used to specify an announcement to be spoken with a notification.
*/
#define kAXAnnouncementKey CFSTR("AXAnnouncementKey")
/*! @abstract Notification info key used to specify the title of an element to be spoken with a notification.
*/
#define kAXUIElementTitleKey CFSTR("AXUIElementTitleKey")
/*! @abstract Priority values used for kAXPriorityKey
*/
typedef CF_ENUM(CFIndex, AXPriority) {
kAXPriorityLow = 10,
kAXPriorityMedium = 50,
kAXPriorityHigh = 90
} CF_ENUM_AVAILABLE_MAC(10_9);
#endif // __AXNOTIFICATIONCONSTANTS__

View File

@@ -0,0 +1,447 @@
/*
* AXRoleConstants.h
* HIServices
*
* Copyright (c) 2004, 2012 Apple Inc. All rights reserved.
*
*/
#ifndef __AXROLECONSTANTS__
#define __AXROLECONSTANTS__
/*! @header AXRoleConstants.h
Every role offers a variety of attributes. There are some attributes that must be
supported by every element, regardless of role. Other attributes will be supported
by an element if/when appropriate data is supplied by the application. These
attributes' meanings and values are generally obvious. In order to save space, the
following attributes are not listed in the role documentation unless the role
handles them in a special fashion:
<pre>
@textblock
AXRole
AXRoleDescription
AXDescription
AXHelp
AXParent
AXChildren
AXWindow
AXTopLevelUIElement
AXEnabled
AXSize
AXPosition
@/textblock
</pre>
Every attribute supported by a given role may have one or more symbols after its
name:
<pre>
@textblock
w means the attribute is writable.
o means it is an optional attribute that doesn't necessarily need to be
supported by all elements with that role.
@/textblock
</pre>
*/
/*
TBD:
Add a general section answering the following questions:
When and why would a developer create a new role?
When and why would a developer create a new subrole?
Add a Quick Reference section, like the one at the top of the attributes.
*/
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
/*! @group Standard Roles */
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
/* Need discussion for following */
/*!
@defined kAXApplicationRole
@discussion
*/
#define kAXApplicationRole CFSTR("AXApplication")
/* Need discussion for following */
/*!
@defined kAXSystemWideRole
@discussion
*/
#define kAXSystemWideRole CFSTR("AXSystemWide")
/* Need discussion for following */
/*!
@defined kAXWindowRole
@discussion
*/
#define kAXWindowRole CFSTR("AXWindow")
/* Need discussion for following */
/*!
@defined kAXSheetRole
@discussion
*/
#define kAXSheetRole CFSTR("AXSheet")
/* Need discussion for following */
/*!
@defined kAXDrawerRole
@discussion
*/
#define kAXDrawerRole CFSTR("AXDrawer")
/* Need discussion for following */
/*!
@defined kAXGrowAreaRole
@discussion
*/
#define kAXGrowAreaRole CFSTR("AXGrowArea")
/* Need discussion for following */
/*!
@defined kAXImageRole
@discussion
*/
#define kAXImageRole CFSTR("AXImage")
/* Need discussion for following */
/*!
@defined kAXUnknownRole
@discussion
*/
#define kAXUnknownRole CFSTR("AXUnknown")
/* Need discussion for following */
/*!
@defined kAXButtonRole
@discussion
*/
#define kAXButtonRole CFSTR("AXButton")
/* Need discussion for following */
/*!
@defined kAXRadioButtonRole
@discussion
*/
#define kAXRadioButtonRole CFSTR("AXRadioButton")
/* Need discussion for following */
/*!
@defined kAXCheckBoxRole
@discussion
*/
#define kAXCheckBoxRole CFSTR("AXCheckBox")
/* Need discussion for following */
/*!
@defined kAXPopUpButtonRole
@discussion
*/
#define kAXPopUpButtonRole CFSTR("AXPopUpButton")
/* Need discussion for following */
/*!
@defined kAXMenuButtonRole
@discussion
*/
#define kAXMenuButtonRole CFSTR("AXMenuButton")
/* Need discussion for following */
/*!
@defined kAXTabGroupRole
@discussion
*/
#define kAXTabGroupRole CFSTR("AXTabGroup")
/* Need discussion for following */
/*!
@defined kAXTableRole
@discussion
*/
#define kAXTableRole CFSTR("AXTable")
/* Need discussion for following */
/*!
@defined kAXColumnRole
@discussion
*/
#define kAXColumnRole CFSTR("AXColumn")
/* Need discussion for following */
/*!
@defined kAXRowRole
@discussion
*/
#define kAXRowRole CFSTR("AXRow")
/*!
@defined kAXOutlineRole
@discussion
An element that contains row-based data. It may use disclosure triangles to manage the
display of hierarchies within the data. It may arrange each row's data into columns and
offer a header button above each column. The best example is the list view in a Finder
window or Open/Save dialog.
Outlines are typically children of AXScrollAreas, which manages the horizontal and/or
vertical scrolling for the outline. Outlines are expected to follow certain conventions
with respect to their hierarchy of sub-elements. In particular, if the outline uses
columns, the data should be accessible via either rows or columns. Thus, the data in a
given cell will be represented as two diffrent elements. Here's a hierarchy for a
typical outline:
<pre>
@textblock
AXScrollArea (parent of the outline)
AXScrollBar (if necessary, horizontal)
AXScrollBar (if necessary, vertical)
AXOutline
AXGroup (header buttons, optional)
AXButton, AXMenuButton, or <Varies> (header button)
...
AXRow (first row)
AXStaticText (just one possible example)
AXButton (just another possible example)
AXTextField (ditto)
AXCheckBox (ditto)
AXRow (as above)
...
AXColumn (first column)
AXStaticText (assumes the first column displays text)
AXStaticText
...
AXColumn (second column)
AXButton (assumes the second column displays buttons)
AXButton
...
...
@/textblock
</pre>
Supported attributes:
<dl>
<dt>AXFocused</dt>
<dd>(w)</dd>
<dt>AXRows</dt>
<dd>Array of subset of AXChildren that are rows</dd>
<dt>AXVisibleRows</dt>
<dd>Array of subset of AXRows that are visible</dd>
<dt>AXSelectedRows</dt>
<dd>Array of subset of AXRows that are selected (w)</dd>
<dt>AXColumns</dt>
<dd>Array of subset of children that are columns</dd>
<dt>AXVisibleColumns</dt>
<dd>Array of subset of columns that are visible</dd>
<dt>AXSelectedColumns</dt>
<dd>Array of subset of columns that are selected (o)</dd>
<dt>AXHeader</dt>
<dd>The AXGroup element that contains the header buttons (o)</dd>
</dl>
*/
#define kAXOutlineRole CFSTR("AXOutline")
/*!
@defined kAXBrowserRole
@discussion
An element that contains columns of hierarchical data. Examples include the column view
in Finder windows and Open/Save dialogs. Carbon's Data Browser in column view mode
represents itself as an AXBrowser. Cocoa's NSBrowser represents itself as an AXBrowser.
Browser elements are expected to have a particular hierarchy of sub-elements within it.
In particular, the child of an AXBrowser must be an AXScrollArea that manages the
horizontal scrolling. The horizontal AXScrollArea must include a child for each column
the interface displays. Columns can be any role that makes sense. Typically, columns
are vertical AXScrollAreas with AXList children. Here's a hierarchy for a typical
browser:
<pre>
@textblock
AXBrowser
AXScrollArea (manages the horizontal scrolling)
AXScrollBar (horizontal scroll bar)
AXScrollArea (first column)
AXScrollBar (column's vertical scroll bar)
AXList (column content is typically a list, but it could be another role)
<Varies> (cell)
...
<Varies> (cell)
AXScrollArea (second column)
...
AXScrollArea (third column)
...
AXGroup (preview column)
...
@/textblock
</pre>
Attributes:
<ul>
<li>AXFocused (w)</li>
<li>AXColumns - Array of the grandchild column elements, which are typically
of the AXScrollArea role.</li>
<li>AXVisibleColumns - Array of the subset of elements in the AXColumns array
that are currently visible.</li>
<li>AXColumnTitles (o)</li>
<li>AXHorizontalScrollBar - The horizontal AXScrollBar of the browser's child
AXScrollArea.</li>
</ul>
*/
#define kAXBrowserRole CFSTR("AXBrowser")
#define kAXScrollAreaRole CFSTR("AXScrollArea")
#define kAXScrollBarRole CFSTR("AXScrollBar")
#define kAXRadioGroupRole CFSTR("AXRadioGroup")
#define kAXListRole CFSTR("AXList")
#define kAXGroupRole CFSTR("AXGroup")
#define kAXValueIndicatorRole CFSTR("AXValueIndicator")
#define kAXComboBoxRole CFSTR("AXComboBox")
#define kAXSliderRole CFSTR("AXSlider")
#define kAXIncrementorRole CFSTR("AXIncrementor")
#define kAXBusyIndicatorRole CFSTR("AXBusyIndicator")
#define kAXProgressIndicatorRole CFSTR("AXProgressIndicator")
#define kAXRelevanceIndicatorRole CFSTR("AXRelevanceIndicator")
#define kAXToolbarRole CFSTR("AXToolbar")
#define kAXDisclosureTriangleRole CFSTR("AXDisclosureTriangle")
#define kAXTextFieldRole CFSTR("AXTextField")
#define kAXTextAreaRole CFSTR("AXTextArea")
#define kAXStaticTextRole CFSTR("AXStaticText")
#define kAXHeadingRole CFSTR("AXHeading")
#define kAXMenuBarRole CFSTR("AXMenuBar")
#define kAXMenuBarItemRole CFSTR("AXMenuBarItem")
#define kAXMenuRole CFSTR("AXMenu")
#define kAXMenuItemRole CFSTR("AXMenuItem")
#define kAXSplitGroupRole CFSTR("AXSplitGroup")
#define kAXSplitterRole CFSTR("AXSplitter")
#define kAXColorWellRole CFSTR("AXColorWell")
#define kAXTimeFieldRole CFSTR("AXTimeField")
#define kAXDateFieldRole CFSTR("AXDateField")
#define kAXHelpTagRole CFSTR("AXHelpTag")
#define kAXMatteRole CFSTR("AXMatte")
#define kAXDockItemRole CFSTR("AXDockItem")
#define kAXRulerRole CFSTR("AXRuler")
#define kAXRulerMarkerRole CFSTR("AXRulerMarker")
#define kAXGridRole CFSTR("AXGrid")
#define kAXLevelIndicatorRole CFSTR("AXLevelIndicator")
#define kAXCellRole CFSTR("AXCell")
#define kAXLayoutAreaRole CFSTR("AXLayoutArea")
#define kAXLayoutItemRole CFSTR("AXLayoutItem")
#define kAXHandleRole CFSTR("AXHandle")
#define kAXPopoverRole CFSTR("AXPopover")
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
/* Subroles */
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
// standard subroles
#define kAXCloseButtonSubrole CFSTR("AXCloseButton")
#define kAXMinimizeButtonSubrole CFSTR("AXMinimizeButton")
#define kAXZoomButtonSubrole CFSTR("AXZoomButton")
#define kAXToolbarButtonSubrole CFSTR("AXToolbarButton")
#define kAXFullScreenButtonSubrole CFSTR("AXFullScreenButton")
#define kAXSecureTextFieldSubrole CFSTR("AXSecureTextField")
#define kAXTableRowSubrole CFSTR("AXTableRow")
#define kAXOutlineRowSubrole CFSTR("AXOutlineRow")
#define kAXUnknownSubrole CFSTR("AXUnknown")
// new subroles
#define kAXStandardWindowSubrole CFSTR("AXStandardWindow")
#define kAXDialogSubrole CFSTR("AXDialog")
#define kAXSystemDialogSubrole CFSTR("AXSystemDialog")
#define kAXFloatingWindowSubrole CFSTR("AXFloatingWindow")
#define kAXSystemFloatingWindowSubrole CFSTR("AXSystemFloatingWindow")
#define kAXDecorativeSubrole CFSTR("AXDecorative")
#define kAXIncrementArrowSubrole CFSTR("AXIncrementArrow")
#define kAXDecrementArrowSubrole CFSTR("AXDecrementArrow")
#define kAXIncrementPageSubrole CFSTR("AXIncrementPage")
#define kAXDecrementPageSubrole CFSTR("AXDecrementPage")
#define kAXSortButtonSubrole CFSTR("AXSortButton")
#define kAXSearchFieldSubrole CFSTR("AXSearchField")
#define kAXTimelineSubrole CFSTR("AXTimeline")
#define kAXRatingIndicatorSubrole CFSTR("AXRatingIndicator")
#define kAXContentListSubrole CFSTR("AXContentList")
#define kAXDefinitionListSubrole CFSTR("AXDefinitionList") // superceded by kAXDescriptionListSubrole in OS X 10.9
#define kAXDescriptionListSubrole CFSTR("AXDescriptionList") // OS X 10.9 and later
#define kAXToggleSubrole CFSTR("AXToggle")
#define kAXSwitchSubrole CFSTR("AXSwitch")
// dock subroles
#define kAXApplicationDockItemSubrole CFSTR("AXApplicationDockItem")
#define kAXDocumentDockItemSubrole CFSTR("AXDocumentDockItem")
#define kAXFolderDockItemSubrole CFSTR("AXFolderDockItem")
#define kAXMinimizedWindowDockItemSubrole CFSTR("AXMinimizedWindowDockItem")
#define kAXURLDockItemSubrole CFSTR("AXURLDockItem")
#define kAXDockExtraDockItemSubrole CFSTR("AXDockExtraDockItem")
#define kAXTrashDockItemSubrole CFSTR("AXTrashDockItem")
#define kAXSeparatorDockItemSubrole CFSTR("AXSeparatorDockItem")
#define kAXProcessSwitcherListSubrole CFSTR("AXProcessSwitcherList")
#endif // __AXROLECONSTANTS__

View File

@@ -0,0 +1,181 @@
/*
* AXTextAttributedString.h
*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
*/
#ifndef AXTEXTATTRIBUTEDSTRING_H
#define AXTEXTATTRIBUTEDSTRING_H
/*! @header AXTextAttributedString.h
@discussion This header file contains definitions of constants used with accessibility objects that represent attributed strings.
An attributed string is an association of a range of characters and their attributes, such as color and font. If an accessibility object
represents an attributed string, the value of its <code>kAXParameterizedAttributeStringAttribute</code> attribute is an attributed string object
(a <code>CFAttributedStringRef</code> or an <code>NSAttributedString</code>) that uses the constants defined in this header file to define its attributes.
*/
#ifdef __cplusplus
extern "C" {
#endif
#include <CoreFoundation/CoreFoundation.h>
CF_ASSUME_NONNULL_BEGIN
/*! @constant kAXFontTextAttribute
@abstract A dictionary (a <code>CFDictionaryRef</code>) of two or more font keys.
@discussion The dictionary associated with this attribute must contain the {@link kAXFontNameKey} and
{@link kAXFontSizeKey} font keys. It may also contain the {@link kAXFontFamilyKey} and
{@link kAXVisibleNameKey} font keys.
*/
extern CFStringRef kAXFontTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFDictionaryRef - see kAXFontTextAttribute keys below
/*! @constant kAXForegroundColorTextAttribute
@abstract A <code>CGColorRef</code> value that describes the foreground color.
*/
extern CFStringRef kAXForegroundColorTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CGColorRef
/*! @constant kAXBackgroundColorTextAttribute
@abstract A <code>CGColorRef</code> value that describes the background color.
*/
extern CFStringRef kAXBackgroundColorTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CGColorRef
/*! @constant kAXUnderlineColorTextAttribute
@abstract A <code>CGColorRef</code> value that describes the color of the underlining.
*/
extern CFStringRef kAXUnderlineColorTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CGColorRef
/*! @constant kAXStrikethroughColorTextAttribute
@abstract A <code>CGColorRef</code> value that describes the color of the strikethrough.
*/
extern CFStringRef kAXStrikethroughColorTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CGColorRef
/*! @constant kAXUnderlineTextAttribute
@abstract A <code>CFNumberRef</code> value that describes the underline style (see {@link //apple_ref/c/tdef/AXUnderlineStyle AXUnderlineStyle} for possible values).
*/
extern CFStringRef kAXUnderlineTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumberRef - AXUnderlineStyle
/*! @constant kAXSuperscriptTextAttribute
@abstract A <code>CFNumberRef</code> value that indicates whether the text is superscript (value > 0) or subscript (value < 0).
*/
extern CFStringRef kAXSuperscriptTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumberRef = + number for superscript - for subscript
/*! @constant kAXStrikethroughTextAttribute
@abstract A <code>CFBooleanRef</code> value that indicates whether the text displays strikethrough.
*/
extern CFStringRef kAXStrikethroughTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFBooleanRef
/*! @constant kAXShadowTextAttribute
@abstract A <code>CFBooleanRef</code> value that indicates whether the text displays shadow.
*/
extern CFStringRef kAXShadowTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFBooleanRef
/*! @constant kAXAttachmentTextAttribute
@abstract An <code>AXUIElementRef</code> value for the accessibility object representing the text attachment.
*/
extern CFStringRef kAXAttachmentTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // AXUIElementRef
/*! @constant kAXLinkTextAttribute
@abstract An <code>AXUIElementRef</code> value used to access the object to which the specified range of text links.
*/
extern CFStringRef kAXLinkTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // AXUIElementRef
/*! @constant kAXNaturalLanguageTextAttribute
@abstract A <code>CFStringRef</code> value that indicates the language in which the text will be spoken aloud by the system.
*/
extern CFStringRef kAXNaturalLanguageTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFStringRef - the spoken language of the text
/*! @constant kAXReplacementStringTextAttribute
@abstract A <code>CFStringRef</code> value that indicates the string that will replace the text.
*/
extern CFStringRef kAXReplacementStringTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFStringRef
/*! @constant kAXMisspelledTextAttribute
@abstract A <code>CFBooleanRef</code> value that indicates whether the text is misspelled.
*/
extern CFStringRef kAXMisspelledTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // AXUIElementRef
/*! @constant kAXMarkedMisspelledTextAttribute
@abstract A <code>CFBooleanRef</code> value that indicates whether the text is visibly shown as misspelled
(for example, with a squiggle underneath the text).
*/
extern CFStringRef kAXMarkedMisspelledTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER; // AXUIElementRef
/*! @constant kAXAutocorrectedTextAttribute
@abstract A <code>CFBooleanRef</code> value that indicates whether the text was autocorrected.
*/
extern CFStringRef kAXAutocorrectedTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER; // CFBooleanRef
/*! @constant kAXListItemPrefixTextAttribute
@abstract A <code>CFAttributedStringRef</code> value that indicates the prepended string of the list item. If the string is a common unicode character (e.g. a bullet <20>), return that unicode character. For lists with images before the text, return a reasonable label of the image.
*/
extern CFStringRef kAXListItemPrefixTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER;
/*! @constant kAXListItemIndexTextAttribute
@abstract A <code>CFNumberRef</code> value that indicates the line index. Each list item increments the index, even for unordered lists. The first item should have index 0.
*/
extern CFStringRef kAXListItemIndexTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER;
/*! @constant kAXListItemLevelTextAttribute
@abstract A <code>CFNumberRef</code> value that indicates the indent level. Each sublist increments the level. The first item should have level 0.
*/
extern CFStringRef kAXListItemLevelTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER;
/*! @group Font Text Attribute Keys
@discussion
Used with {@link kAXFontTextAttribute}.
*/
/*! @constant kAXFontNameKey
@abstract Required key of the {@link kAXFontTextAttribute} dictionary for the font name in a <code>CFStringRef</code>.
*/
extern CFStringRef kAXFontNameKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFStringRef - required
/*! @constant kAXFontFamilyKey
@abstract Optional key of the {@link kAXFontTextAttribute} dictionary for the font family name in a <code>CFStringRef</code>.
*/
extern CFStringRef kAXFontFamilyKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFStringRef - not required
/*! @constant kAXVisibleNameKey
@abstract Optional key of the {@link kAXFontTextAttribute} dictionary for the font display name in a <code>CFStringRef</code>.
*/
extern CFStringRef kAXVisibleNameKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFStringRef - not required
/*! @constant kAXFontSizeKey
@abstract Required key of the {@link kAXFontTextAttribute} dictionary for the font size in a <code>CFNumberRef</code>.
*/
extern CFStringRef kAXFontSizeKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumberRef - required
/*! @typedef AXUnderlineStyle
@abstract Values that describe the style of underlining (used with the {@link kAXUnderlineTextAttribute} attribute).
*/
typedef CF_ENUM(UInt32, AXUnderlineStyle) {
kAXUnderlineStyleNone = 0x0,
kAXUnderlineStyleSingle = 0x1,
kAXUnderlineStyleThick = 0x2,
kAXUnderlineStyleDouble = 0x9
};
// DO NOT USE. This is an old, misspelled version of one of the above constants.
extern CFStringRef kAXForegoundColorTextAttribute AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CGColorRef
CF_ASSUME_NONNULL_END
#ifdef __cplusplus
}
#endif
#endif // AXTEXTATTRIBUTEDSTRING_H

View File

@@ -0,0 +1,669 @@
/*
* AXUIElement.h
*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
*/
#ifndef __AXUIELEMENT__
#define __AXUIELEMENT__
#include <AvailabilityMacros.h>
#ifdef __cplusplus
extern "C" {
#endif
#include <CoreFoundation/CoreFoundation.h>
#include <CoreGraphics/CGRemoteOperation.h>
#include <ApplicationServices/ApplicationServices.h>
CF_ASSUME_NONNULL_BEGIN
CF_IMPLICIT_BRIDGING_ENABLED
/*! @header AXUIElement.h
@discussion
Assistive applications use the functions defined in this header file to communicate with and control accessible applications running in Mac OS X.
Each accessible user interface element in an application is represented by an AXUIElementRef, which is a CFTypeRef. AXUIElementRefs (like all
CFTypeRefs) can be used with all the Core Foundation polymorphic functions, such as @link //apple_ref/c/func/CFRetain CFRetain@/link, @link //apple_ref/c/func/CFRelease CFRelease@/link, and @link //apple_ref/c/func/CFEqual CFEqual@/link.
All functions defined in this header file will return <code>kAXErrorSuccess</code> on success if the return type is AXError.
If there is some sort of system memory failure, such as the failure to allocate
an object, all functions of return type AXError can return <code>kAXErrorFailure</code>. In the unlikely event that some process does not fully support the accessibility API, a function of return type AXError can
return <code>kAXErrorNotImplemented</code>.
In addition, some functions of return type AXError can return the following error codes:
<dl><dt><code>kAXErrorInvalidUIElement</code></dt><dd>The passed-in AXUIElementRef is invalid. All functions that include an AXUIElementRef parameter can return this error code.</dd>
<dt><code>kAXErrorIllegalArgument</code></dt><dd>At least one of the arguments is illegal (for example, NIL passed in for a pointer).</dd>
<dt><code>kAXErrorCannotComplete</code></dt><dd>There is a problem with messaging (such as when messaging to the server fails or when the accessible application is unresponsive
or waiting for user input). All functions that perform messaging can return this error code.</dd>
<dt><code>kAXErrorAPIDisabled</code></dt><dd>The accessibility API is disabled. All functions that perform messaging can return this error code.</dd>
</dl>
For more information on the definition and use of accessibility objects and on Mac OS X accessibility support in general, see {@linkdoc //apple_ref/doc/uid/TP40001078 Accessibility Overview}.
*/
/*!
@function AXAPIEnabled
@abstract Returns whether the accessibility API is enabled.
@deprecated In OS X 10.9 and later. Use AXIsProcessTrustedWithOptions instead.
@result Returns TRUE if the accessibility API is currently enabled, otherwise FALSE.
*/
extern Boolean AXAPIEnabled (void) CF_DEPRECATED_MAC(10_0, 10_9);
/*!
@function AXIsProcessTrustedWithOptions
@abstract Returns whether the current process is a trusted accessibility client.
@param options A dictionary of options, or NULL to specify no options. The following options are available:
KEY: kAXTrustedCheckOptionPrompt
VALUE: ACFBooleanRef indicating whether the user will be informed if the current process is untrusted. This could be used, for example, on application startup to always warn a user if accessibility is not enabled for the current process. Prompting occurs asynchronously and does not affect the return value.
@result Returns TRUE if the current process is a trusted accessibility client, FALSE if it is not.
*/
extern Boolean AXIsProcessTrustedWithOptions (CFDictionaryRef __nullable options) CF_AVAILABLE_MAC(10_9);
extern CFStringRef kAXTrustedCheckOptionPrompt CF_AVAILABLE_MAC(10_9);
/*!
@function AXIsProcessTrusted
@abstract Returns whether the current process is a trusted accessibility client.
@result Returns TRUE if the current process is a trusted accessibility client, FALSE if it is not.
*/
extern Boolean AXIsProcessTrusted (void) CF_AVAILABLE_MAC(10_4);
/*!
@function AXMakeProcessTrusted
@abstract Attempts to make the process represented by the specified path a trusted accessibility client.
@discussion Use this function to make a process a trusted accessibility client. Note: The caller must be running as <code>root</code> to successfully call this function. In addition, the caller should relaunch the process after this function returns successfully for the trusted status to take effect.
@param executablePath The path to the executable of the process to make trusted.
@result An AXError that indicates success or failure.
*/
extern AXError AXMakeProcessTrusted (CFStringRef executablePath) CF_DEPRECATED_MAC(10_4, 10_9);
/*!
@typedef AXUIElementRef
@abstract A structure used to refer to an accessibility object.
@discussion An accessibility object provides information about the user interface object it represents. This information includes the object's
position in the accessibility hierarchy, its position on the display, details about what it is, and what actions it can perform. Accessibility objects
respond to messages sent by assistive applications and send notifications that describe state changes.
*/
typedef const struct CF_BRIDGED_TYPE(id) __AXUIElement *AXUIElementRef;
/*!
@enum kAXCopyMultipleAttributeOptionStopOnError
@discussion Pass this option to @link AXUIElementCopyMultipleAttributeValues AXUIElementCopyMultipleAttributeValues@/link to force the function
to stop when it gets an error.
*/
typedef CF_OPTIONS(UInt32, AXCopyMultipleAttributeOptions) {
kAXCopyMultipleAttributeOptionStopOnError = 0x1
};
/*!
@function AXUIElementGetTypeID
@abstract Returns the unique type identifier for the AXUIElementRef type.
@result Returns a CFTypeID representing the AXUIElementRef type.
*/
extern CFTypeID AXUIElementGetTypeID (void);
/*!
@function AXUIElementCopyAttributeNames
@abstract Returns a list of all the attributes supported by the specified accessibility object.
@param element The AXUIElementRef representing the accessibility object.
@param names On return, an array containing the accessibility object's attribute names.
@result If unsuccessful, <code>AXUIElementCopyAttributeNames</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorAttributeUnsupported</code></dt><dd>The specified AXUIElementRef does not support the specified attribute.</dd>
<dt><code>kAXErrorIllegalArgument</code></dt><dd>One or both of the arguments is an illegal value.</dd>
<dt><code>kAXErrorInvalidUIElement</code></dt><dd>The AXUIElementRef is invalid.</dd>
<dt><code>kAXErrorFailure</code></dt><dd>There was a system memory failure.</dd>
<dt><code>kAXErrorCannotComplete</code></dt><dd>The function cannot complete because messaging has failed in some way.</dd>
<dt><code>kAXErrorNotImplemented</code></dt><dd>The process does not fully support the accessibility API.</dd></dl>
*/
extern AXError AXUIElementCopyAttributeNames (AXUIElementRef element, CFArrayRef __nullable * __nonnull CF_RETURNS_RETAINED names);
/*!
@function AXUIElementCopyAttributeValue
@abstract Returns the value of an accessibility object's attribute.
@param element The AXUIElementRef representing the accessibility object.
@param attribute The attribute name.
@param value On return, the value associated with the specified attribute.
@result If unsuccessful, <code>AXUIElementCopyAttributeValue</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorAttributeUnsupported</code></dt><dd>The specified AXUIElementRef does not support the specified attribute.</dd>
<dt><code>kAXErrorNoValue</code></dt><dd>The specified attribute does not have a value.</dd>
<dt><code>kAXErrorIllegalArgument</code></dt><dd>One or more of the arguments is an illegal value.</dd>
<dt><code>kAXErrorInvalidUIElement</code></dt><dd>The AXUIElementRef is invalid.</dd>
<dt><code>kAXErrorCannotComplete</code></dt><dd>The function cannot complete because messaging has failed in some way.</dd>
<dt><code>kAXErrorNotImplemented</code></dt><dd>The process does not fully support the accessibility API.</dd></dl>
*/
extern AXError AXUIElementCopyAttributeValue (AXUIElementRef element, CFStringRef attribute, CFTypeRef __nullable * __nonnull CF_RETURNS_RETAINED value);
/*!
@function AXUIElementGetAttributeValueCount
@abstract Returns the count of the array of an accessibility object's attribute value.
@param element The AXUIElementRef representing the accessibility object.
@param attribute The attribute name.
@param count On return, the size of the array that is the attribute's value.
@result If unsuccessful, <code>AXUIElementGetAttributeValueCount</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorIllegalArgument</code></dt><dd>The attribute's value is not an array or one of the other arguments is an illegal value.</dd>
<dt><code>kAXErrorAttributeUnsupported</code></dt><dd>The specified AXUIElementRef does not support the specified attribute.</dd>
<dt><code>kAXErrorInvalidUIElement</code></dt><dd>The AXUIElementRef is invalid.</dd>
<dt><code>kAXErrorCannotComplete</code></dt><dd>The function cannot complete because messaging has failed in some way.</dd>
<dt><code>kAXErrorNotImplemented</code></dt><dd>The process does not fully support the accessibility API.</dd></dl>
*/
extern AXError AXUIElementGetAttributeValueCount (AXUIElementRef element, CFStringRef attribute, CFIndex *count);
/*!
@function AXUIElementCopyAttributeValues
@abstract Returns an array of attribute values for the accessibility object's attribute, starting at the specified index.
@discussion This function is useful for dealing with large arrays, for example, a table view with a large number of children.
@param element The AXUIElementRef representing the accessibility object.
@param attribute The attribute name.
@param index The index into the array.
@param maxValues The maximum number of values you want (this may be more or less than the number of values associated with the attribute).
@param values On return, the attribute values you requested. If <code>maxValues</code> is greater than the number of values associated with the attribute, the <code>values</code> array will contain values found between <code>index</code> and the end of the attribute's array, inclusive.
@result If unsuccessful, <code>AXUIElementCopyAttributeValues</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorIllegalArgument</code></dt><dd>The attribute's value is not array, the <code>index</code> or <code>maxValues</code> arguments are outside the array's range, or one of the other arguments is an illegal value.</dd>
<dt><code>kAXErrorNoValue</code></dt><dd>The specified attribute does not have a value.</dd>
<dt><code>kAXErrorInvalidUIElement</code></dt><dd>The AXUIElementRef is invalid.</dd>
<dt><code>kAXErrorCannotComplete</code></dt><dd>The function cannot complete because messaging has failed in some way.</dd>
<dt><code>kAXErrorNotImplemented</code></dt><dd>The process does not fully support the accessibility API.</dd></dl>
*/
extern AXError AXUIElementCopyAttributeValues (AXUIElementRef element, CFStringRef attribute, CFIndex index, CFIndex maxValues, CFArrayRef __nullable * __nonnull CF_RETURNS_RETAINED values);
/*!
@function AXUIElementIsAttributeSettable
@abstract Returns whether the specified accessibility object's attribute can be modified.
@discussion If you receive a <code>kAXErrorCannotComplete</code> error from this function, you might want to repeat the request or change the timeout value.
@param element The AXUIElementRef representing the accessibility object.
@param attribute The attribute name.
@param settable On return, a Boolean value indicating whether the attribute is settable.
@result If unsuccessful, <code>AXUIElementIsAttributeSettable</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorCannotComplete</code></dt><dd>The function cannot complete because messaging has failed in some way (often due to a timeout).</dd>
<dt><code>kAXErrorIllegalArgument</code></dt><dd>One or more of the arguments is an illegal value.</dd>
<dt><code>kAXErrorAttributeUnsupported</code></dt><dd>The specified AXUIElementRef does not support the specified attribute.</dd>
<dt><code>kAXErrorNoValue</code></dt><dd>The specified attribute does not have a value.</dd>
<dt><code>kAXErrorInvalidUIElement</code></dt><dd>The AXUIElementRef is invalid.</dd>
<dt><code>kAXErrorNotImplemented</code></dt><dd>The process does not fully support the accessibility API.</dd></dl>
*/
extern AXError AXUIElementIsAttributeSettable (AXUIElementRef element, CFStringRef attribute, Boolean *settable);
/*!
@function AXUIElementSetAttributeValue
@abstract Sets the accessibility object's attribute to the specified value.
@discussion You can send and receive many different CFTypeRefs using the accessibility API.
These include all CFPropertyListRef types, AXUIElementRef, AXValueRef, AXTextMarkerRef, AXTextMarkerRangeRef,
CFNullRef, CFAttributedStringRef, and CRURLRef.
@param element The AXUIElementRef representing the accessibility object.
@param attribute The attribute name.
@param value The new value for the attribute.
@result If unsuccessful, <code>AXUIElementSetAttributeValue</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorIllegalArgument</code></dt><dd>The value is not recognized by the accessible application or one of the other arguments is an illegal value.</dd>
<dt><code>kAXErrorAttributeUnsupported</code></dt><dd>The specified AXUIElementRef does not support the specified attribute.</dd>
<dt><code>kAXErrorInvalidUIElement</code></dt><dd>The AXUIElementRef is invalid.</dd>
<dt><code>kAXErrorCannotComplete</code></dt><dd>The function cannot complete because messaging has failed in some way.</dd>
<dt><code>kAXErrorNotImplemented</code></dt><dd>The process does not fully support the accessibility API.</dd></dl>
*/
extern AXError AXUIElementSetAttributeValue (AXUIElementRef element, CFStringRef attribute, CFTypeRef value);
/*!
@function AXUIElementCopyMultipleAttributeValues
@abstract Returns the values of multiple attributes in the accessibility object.
@discussion If the specified AXUIElementRef does not support an attribute passed in the <code>attributes</code> array, the returned array
can contain an error or CFNull at the corresponding position.
@param element The AXUIElementRef representing the accessibility object.
@param attributes An array of attribute names.
@param options A value that tells <code>AXUIElementCopyMultipleAttributeValues</code> how to handle errors.
@param values On return, an array in which each position contains the value of the
attribute that is in the corresponding position in the passed-in <code>attributes</code> array (or CFNull). If <code>options</code> = 0,
the <code>values</code> array can contain an AXValueRef of type <code>kAXValueAXErrorType</code> in the corresponding position. If <code>options</code> = <code>kAXCopyMultipleAttributeOptionStopOnError</code>,
this function will return immediately when it gets an error.
@result If unsuccessful, <code>AXUIElementCopyMultipleAttributeValues</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorIllegalArgument</code></dt><dd>One of the arguments is an illegal value.</dd>
<dt><code>kAXErrorInvalidUIElement</code></dt><dd>The AXUIElementRef is invalid.</dd>
<dt><code>kAXErrorCannotComplete</code></dt><dd>The function cannot complete because messaging has failed in some way.</dd>
<dt><code>kAXErrorNotImplemented</code></dt><dd>The process does not fully support the accessibility API.</dd></dl>
*/
extern AXError AXUIElementCopyMultipleAttributeValues (AXUIElementRef element, CFArrayRef attributes, AXCopyMultipleAttributeOptions options, CFArrayRef __nullable * __nonnull CF_RETURNS_RETAINED values) CF_AVAILABLE_MAC(10_4);
/*!
@function AXUIElementCopyParameterizedAttributeNames
@abstract Returns a list of all the parameterized attributes supported by the specified accessibility object.
@param element The AXUIElementRef representing the accessibility object.
@param names On return, an array containing the accessibility object's parameterized attribute names.
@result If unsuccessful, <code>AXUIElementCopyParameterizedAttributeNames</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorAttributeUnsupported</code> or <code>kAXErrorParameterizedAttributeUnsupported</code></dt><dd>The specified AXUIElementRef does not support the specified parameterized attribute.</dd>
<dt><code>kAXErrorIllegalArgument</code></dt><dd>One or both of the arguments is an illegal value.</dd>
<dt><code>kAXErrorInvalidUIElement</code></dt><dd>The AXUIElementRef is invalid.</dd>
<dt><code>kAXErrorFailure</code></dt><dd>There was some sort of system memory failure.</dd>
<dt><code>kAXErrorCannotComplete</code></dt><dd>The function cannot complete because messaging has failed in some way.</dd>
<dt><code>kAXErrorNotImplemented</code></dt><dd>The process does not fully support the accessibility API.</dd></dl>
*/
extern AXError AXUIElementCopyParameterizedAttributeNames (AXUIElementRef element, CFArrayRef __nullable * __nonnull CF_RETURNS_RETAINED names) CF_AVAILABLE_MAC(10_3);
/*!
@function AXUIElementCopyParameterizedAttributeValue
@abstract Returns the value of an accessibility object's parameterized attribute.
@param element The AXUIElementRef representing the accessibility object.
@param parameterizedAttribute The parameterized attribute.
@param parameter The parameter.
@param result On return, the value of the parameterized attribute.
@result If unsuccessful, <code>AXUIElementCopyParameterizedAttributeValue</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorAttributeUnsupported</code> or <code>kAXErrorParameterizedAttributeUnsupported</code></dt><dd>The specified AXUIElementRef does not support the specified parameterized attribute.</dd>
<dt><code>kAXErrorNoValue</code></dt><dd>The specified parameterized attribute does not have a value.</dd>
<dt><code>kAXErrorIllegalArgument</code></dt><dd>One or more of the arguments is an illegal value.</dd>
<dt><code>kAXErrorInvalidUIElement</code></dt><dd>The AXUIElementRef is invalid.</dd>
<dt><code>kAXErrorCannotComplete</code></dt><dd>The function cannot complete because messaging has failed in some way.</dd>
<dt><code>kAXErrorNotImplemented</code></dt><dd>The process does not fully support the accessibility API.</dd></dl>
*/
extern AXError AXUIElementCopyParameterizedAttributeValue (AXUIElementRef element, CFStringRef parameterizedAttribute, CFTypeRef parameter, CFTypeRef __nullable * __nonnull CF_RETURNS_RETAINED result) CF_AVAILABLE_MAC(10_3);
/*!
@function AXUIElementCopyActionNames
@abstract Returns a list of all the actions the specified accessibility object can perform.
@param element The AXUIElementRef representing the accessibility object.
@param names On return, an array of actions the accessibility object can perform (empty if the accessibility object supports no actions).
@result If unsuccessful, <code>AXUIElementCopyActionNames</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorIllegalArgument</code></dt><dd>One or both of the arguments is an illegal value.</dd>
<dt><code>kAXErrorInvalidUIElement</code></dt><dd>The AXUIElementRef is invalid.</dd>
<dt><code>kAXErrorFailure</code></dt><dd>There was some sort of system memory failure.</dd>
<dt><code>kAXErrorCannotComplete</code></dt><dd>The function cannot complete because messaging has failed in some way.</dd>
<dt><code>kAXErrorNotImplemented</code></dt><dd>The process does not fully support the accessibility API.</dd></dl>
*/
extern AXError AXUIElementCopyActionNames (AXUIElementRef element, CFArrayRef __nullable * __nonnull CF_RETURNS_RETAINED names);
/*!
@function AXUIElementCopyActionDescription
@abstract Returns a localized description of the specified accessibility object's action.
@param element The AXUIElementRef representing the accessibility object.
@param action The action to be described.
@param description On return, a string containing the description of the action.
@result If unsuccessful, <code>AXUIElementCopyActionDescription</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorActionUnsupported</code></dt><dd>The specified AXUIElementRef does not support the specified action (you will also receive this error if you pass in the system-wide accessibility object).</dd>
<dt><code>kAXErrorIllegalArgument</code></dt><dd>One or more of the arguments is an illegal value.</dd>
<dt><code>kAXErrorInvalidUIElement</code></dt><dd>The AXUIElementRef is invalid.</dd>
<dt><code>kAXErrorCannotComplete</code></dt><dd>The function cannot complete because messaging has failed in some way.</dd>
<dt><code>kAXErrorNotImplemented</code></dt><dd>The process does not fully support the accessibility API.</dd></dl>
*/
extern AXError AXUIElementCopyActionDescription (AXUIElementRef element, CFStringRef action, CFStringRef __nullable * __nonnull CF_RETURNS_RETAINED description);
/*!
@function AXUIElementPerformAction
@abstract Requests that the specified accessibility object perform the specified action.
@discussion It is possible to receive the <code>kAXErrorCannotComplete</code> error code from this function because accessible applications often need to
perform some sort of modal processing inside their action callbacks and they may not return within the timeout value set by the accessibility API.
This does not necessarily mean that the function has failed, however. If appropriate, your assistive application
can try to call this function again. Also, you may be able to increase the timeout value (see @link AXUIElementSetMessagingTimeout AXUIElementSetMessagingTimeout@/link).
@param element The AXUIElementRef representing the accessibility object.
@param action The action to be performed.
@result If unsuccessful, <code>AXUIElementPerformAction</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorActionUnsupported</code></dt><dd>The specified AXUIElementRef does not support the specified action (you will also receive this error if you pass in the system-wide accessibility object).</dd>
<dt><code>kAXErrorIllegalArgument</code></dt><dd>One or more of the arguments is an illegal value.</dd>
<dt><code>kAXErrorInvalidUIElement</code></dt><dd>The AXUIElementRef is invalid.</dd>
<dt><code>kAXErrorCannotComplete</code></dt><dd>The function cannot complete because messaging has failed in some way or the application has not yet responded.</dd>
<dt><code>kAXErrorNotImplemented</code></dt><dd>The process does not fully support the accessibility API.</dd></dl>
*/
extern AXError AXUIElementPerformAction (AXUIElementRef element, CFStringRef action);
/*!
@function AXUIElementCopyElementAtPosition
@abstract Returns the accessibility object at the specified position in top-left relative screen coordinates.
@discussion This function does hit-testing based on window z-order (that is, layering). If one window is on top of another window, the returned accessibility object comes from whichever window is topmost at the specified
location. Note that if the system-wide accessibility object is passed in the <code>application</code> parameter, the position test is not restricted to a
particular application.
@param application The AXUIElementRef representing the application that contains the screen coordinates (or the system-wide accessibility object).
@param x The horizontal position.
@param y The vertical position.
@param element On return, the accessibility object at the position specified by x and y.
@result If unsuccessful, <code>AXUIElementCopyElementAtPosition</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorNoValue</code></dt><dd>There is no accessibility object at the specified position.</dd>
<dt><code>kAXErrorIllegalArgument</code></dt><dd>One or more of the arguments is an illegal value.</dd>
<dt><code>kAXErrorInvalidUIElement</code></dt><dd>The AXUIElementRef is invalid.</dd>
<dt><code>kAXErrorCannotComplete</code></dt><dd>The function cannot complete because messaging has failed in some way.</dd>
<dt><code>kAXErrorNotImplemented</code></dt><dd>The process does not fully support the accessibility API.</dd></dl>
*/
extern AXError AXUIElementCopyElementAtPosition (AXUIElementRef application, float x,float y, AXUIElementRef __nullable * __nonnull CF_RETURNS_RETAINED element);
/*!
@function AXUIElementCreateApplication
@abstract Creates and returns the top-level accessibility object for the application with the specified process ID.
@param pid The process ID of an application.
@result The AXUIElementRef representing the top-level accessibility object for the application with the specified process ID.
*/
extern AXUIElementRef AXUIElementCreateApplication (pid_t pid);
/*!
@function AXUIElementCreateSystemWide
@abstract Returns an accessibility object that provides access to system attributes.
@discussion This is useful for things like finding the focused accessibility object regardless of which application is currently active.
@result The AXUIElementRef representing the system-wide accessibility object.
*/
extern AXUIElementRef AXUIElementCreateSystemWide (void);
/*!
@function AXUIElementGetPid
@abstract Returns the process ID associated with the specified accessibility object.
@param element The AXUIElementRef representing an accessibility object.
@param pid On return, the process ID associated with the specified accessibility object.
@result If unsuccessful, <code>AXUIElementGetPid</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorIllegalArgument</code></dt><dd>One or more of the arguments is an illegal value.</dd>
<dt><code>kAXErrorInvalidUIElement</code></dt><dd>The AXUIElementRef is invalid.</dd></dl>
*/
extern AXError AXUIElementGetPid (AXUIElementRef element, pid_t *pid);
/*!
@function AXUIElementSetMessagingTimeout
@abstract Sets the timeout value used in the accessibility API.
@discussion Pass the system-wide accessibility object (see @link AXUIElementCreateSystemWide AXUIElementCreateSystemWide@/link) if you want to set the timeout globally for this process.
Setting the timeout on another accessibility object sets it only for that object, not for other accessibility objects that are equal to it.
Setting <code>timeoutInSeconds</code> to 0 for the system-wide accessibility object resets the global timeout to its default value. Setting <code>timeoutInSeconds</code>
to 0 for any other accessibility object makes that element use the current global timeout value.
@param element The AXUIElementRef representing an accessibility object.
@param timeoutInSeconds The number of seconds for the new timeout value.
@result If unsuccessful, <code>AXUIElementSetMessagingTimeout</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorIllegalArgument</code></dt><dd>One or more of the arguments is an illegal value (timeout values must be positive).</dd>
<dt><code>kAXErrorInvalidUIElement</code></dt><dd>The AXUIElementRef is invalid.</dd></dl>
*/
extern AXError AXUIElementSetMessagingTimeout (AXUIElementRef element, float timeoutInSeconds) CF_AVAILABLE_MAC(10_4);
/*!
@function AXUIElementPostKeyboardEvent
@abstract Posts keys to the specified application.
@discussion This is similar to @link //apple_ref/c/func/CGPostKeyboardEvent CGPostKeyboardEvent@/link (which synthesizes a low-level keyboard event on the
local machine), but it allows you to specify the target application as opposed to always sending the events to the active application. If the
system-wide accessibility object is passed in the <code>application</code> parameter, the event is sent to the active application.
You can only pass in the system-wide or application AXUIElementRef.
@param application The AXUIElementRef representing the application (or the system-wide accessibility object).
@param keyChar
@param virtualKey
@param keyDown
@result If unsuccessful, <code>AXUIElementPostKeyboardEvent</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorIllegalArgument</code></dt><dd>One or more of the arguments is an illegal value.</dd>
<dt><code>kAXErrorInvalidUIElement</code></dt><dd>The AXUIElementRef is invalid.</dd>
<dt><code>kAXErrorFailure</code></dt><dd>There is some sort of system memory failure.</dd>
<dt><code>kAXErrorCannotComplete</code></dt><dd>The function cannot complete because messaging has failed in some way.</dd>
<dt><code>kAXErrorNotImplemented</code></dt><dd>The process does not fully support the accessibility API.</dd></dl>
*/
extern AXError AXUIElementPostKeyboardEvent (AXUIElementRef application, CGCharCode keyChar, CGKeyCode virtualKey, Boolean keyDown) CF_DEPRECATED_MAC(10_0, 10_9);;
/*! @group Text Marker API */
/*!
@typedef AXTextMarkerRef
@discussion
An AXTextMarkerRef is a CFType. Like all CFTypes, they are reference counted (@link //apple_ref/c/func/CFRetain CFRetain@/link, @link //apple_ref/c/func/CFRelease CFRelease@/link).
*/
typedef const struct CF_BRIDGED_TYPE(id) __AXTextMarker *AXTextMarkerRef;
/*!
@function AXTextMarkerGetTypeID
@abstract Returns the unique type identifier for the AXTextMarkerRef type.
@result Returns the CFTypeID of the AXTextMarkerRef type.
*/
extern CFTypeID AXTextMarkerGetTypeID (void);
/*!
@function AXTextMarkerCreate
@abstract Creates a new text marker.
@param bytes The data used to identify this location in text
@param length The length of the data
*/
extern AXTextMarkerRef AXTextMarkerCreate (CFAllocatorRef __nullable allocator, const UInt8 *bytes, CFIndex length);
/*!
@function AXTextMarkerGetLength
@abstract Get the length of bytes stored in a text marker
@param marker The text marker
@result The length of the data
*/
extern CFIndex AXTextMarkerGetLength (AXTextMarkerRef marker);
/*!
@function AXTextMarkerGetBytePtr
@abstract Get the byte data used to identify this location in text.
@param marker The text marker
@result a pointer to the byte data used to identify this location in text.
*/
extern const UInt8 *AXTextMarkerGetBytePtr (AXTextMarkerRef theTextMarker);
/*!
@typedef AXTextMarkerRangeRef
@discussion
An AXTextMarkerRangeRef is a CFType. Like all CFTypes, they are reference counted (@link //apple_ref/c/func/CFRetain CFRetain@/link, @link //apple_ref/c/func/CFRelease CFRelease@/link).
*/
typedef const struct CF_BRIDGED_TYPE(id) __AXTextMarkerRange *AXTextMarkerRangeRef;
/*!
@function AXTextMarkerRangeGetTypeID
@abstract Returns the unique type identifier for the AXTextMarkerRangeRef type.
@result Returns the CFTypeID of the AXTextMarkerRangeRef type.
*/
extern CFTypeID AXTextMarkerRangeGetTypeID (void);
/*!
@function AXTextMarkerRangeGetTypeID
@abstract Creates a new text marker given a start and end marker
@param startMarker The text marker for the beginning of the range
@param endMarker The text marker for the end of the range
@result The text marker range object
*/
extern AXTextMarkerRangeRef AXTextMarkerRangeCreate (CFAllocatorRef __nullable allocator, AXTextMarkerRef startMarker, AXTextMarkerRef endMarker);
/*!
@function AXTextMarkerRangeGetTypeID
@abstract Creates a new text marker given the bytes for a start marker and an end marker
@param startMarkerBytes The data used to identify the start marker location in text
@param startMarkerLength The length of the start marker data
@param endMarkeBytes The data used to identify the end marker location in text
@param endMarkerLength The length of the end marker data
@result The text marker range object
*/
extern AXTextMarkerRangeRef AXTextMarkerRangeCreateWithBytes (CFAllocatorRef __nullable allocator, const UInt8 *startMarkerBytes, CFIndex startMarkerLength, const UInt8 *endMarkerBytes, CFIndex endMarkerLength);
/*!
@function AXTextMarkerRangeCopyStartMarker
@abstract Copies the start marker from a text marker range
@param textMarkerRange The text marker range
@result The start text marker object
*/
extern AXTextMarkerRef AXTextMarkerRangeCopyStartMarker (AXTextMarkerRangeRef textMarkerRange);
/*!
@function AXTextMarkerRangeCopyEndMarker
@abstract Copies the end marker from a text marker range
@param textMarkerRange The text marker range
@result The end text marker object
*/
extern AXTextMarkerRef AXTextMarkerRangeCopyEndMarker (AXTextMarkerRangeRef textMarkerRange);
/*! @group Notification API */
/*!
@typedef AXObserverRef
@discussion
An AXObserverRef is a CFType. Like all CFTypes, they are reference counted (@link //apple_ref/c/func/CFRetain CFRetain@/link, @link //apple_ref/c/func/CFRelease CFRelease@/link).
*/
typedef struct CF_BRIDGED_TYPE(id) __AXObserver *AXObserverRef;
/*!
@typedef AXObserverCallback
@abstract
@param observer An AXObserverRef object to observe the notifications.
@param element The accessibility object.
@param notification The name of the notification to observe.
@param refcon Application-defined data specified when registering the observer for notification
*/
typedef void (*AXObserverCallback)(AXObserverRef observer, AXUIElementRef element, CFStringRef notification, void * __nullable refcon);
/*!
@typedef AXObserverCallbackWithInfo
@abstract
@param observer An AXObserverRef object to observe the notifications.
@param element The accessibility object.
@param notification The name of the notification to observe.
@param info The coresponding notification information.
@param refcon Application-defined data specified when registering the observer for notification
*/
typedef void (*AXObserverCallbackWithInfo)(AXObserverRef observer, AXUIElementRef element, CFStringRef notification, CFDictionaryRef info, void * __nullable refcon);
/*!
@function AXObserverGetTypeID
@abstract Returns the unique type identifier for the AXObserverRef type.
@result Returns the CFTypeID of the AXObserverRef type.
*/
CFTypeID AXObserverGetTypeID (void);
/*!
@function AXObserverCreate
@abstract Creates a new observer that can receive notifications from the specified application.
@discussion When an observed notification is received, it is passed to @link AXObserverCallback AXObserverCallback@/link.
@param application The process ID of the application.
@param callback The callback function.
@param outObserver On return, an AXObserverRef representing the observer object.
@result If unsuccessful, <code>AXObserverCreate</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorIllegalArgument</code></dt><dd>One or more of the arguments is an illegal value.</dd>
<dt><code>kAXErrorFailure</code></dt><dd>There is some sort of system memory failure.</dd></dl>
*/
extern AXError AXObserverCreate (pid_t application, AXObserverCallback callback, AXObserverRef __nullable * __nonnull CF_RETURNS_RETAINED outObserver);
/*!
@function AXObserverCreateWithInfoCallback
@abstract Creates a new observer that can receive notifications with an information dictionary from the specified application.
@discussion When an observed notification is received, it is passed to @link AXObserverCallbackWithInfo AXObserverCallbackWithInfo@/link.
@param application The process ID of the application.
@param callback The callback function.
@param outObserver On return, an AXObserverRef representing the observer object.
@result If unsuccessful, <code>AXObserverCreateWithInfoCallback</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorIllegalArgument</code></dt><dd>One or more of the arguments is an illegal value.</dd>
<dt><code>kAXErrorFailure</code></dt><dd>There is some sort of system memory failure.</dd></dl>
*/
extern AXError AXObserverCreateWithInfoCallback (pid_t application, AXObserverCallbackWithInfo callback, AXObserverRef __nullable * __nonnull CF_RETURNS_RETAINED outObserver);
/*!
@function AXObserverAddNotification
@abstract Registers the specified observer to receive notifications from the specified accessibility object.
@param observer The observer object created from a call to @link AXObserverCreate AXObserverCreate@/link.
@param element The accessibility object for which to observe notifications.
@param notification The name of the notification to observe.
@param refcon Application-defined data passed to the callback when it is called.
@result If unsuccessful, <code>AXObserverAddNotification</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorInvalidUIElementObserver</code></dt><dd>The observer is not a valid AXObserverRef type.</dd>
<dt><code>kAXErrorIllegalArgument</code></dt><dd>One or more of the arguments is an illegal value or the length of the notification name is greater than 1024.</dd>
<dt><code>kAXErrorNotificationUnsupported</code></dt><dd>The accessibility object does not support notifications (note that the system-wide accessibility object does not support notifications).</dd>
<dt><code>kAXErrorNotificationAlreadyRegistered</code></dt><dd>The notification has already been registered.</dd>
<dt><code>kAXErrorCannotComplete</code></dt><dd>The function cannot complete because messaging has failed in some way.</dd>
<dt><code>kAXErrorFailure</code></dt><dd>There is some sort of system memory failure.</dd></dl>
*/
extern AXError AXObserverAddNotification (AXObserverRef observer, AXUIElementRef element, CFStringRef notification, void * __nullable refcon);
/*!
@function AXObserverRemoveNotification
@abstract Removes the specified notification from the list of notifications the observer wants to receive from the accessibility object.
@param observer The observer object created from a call to @link AXObserverCreate AXObserverCreate@/link.
@param element The accessibility object for which this observer observes notifications.
@param notification The name of the notification to remove from the list of observed notifications.
@result If unsuccessful, <code>AXObserverRemoveNotification</code> may return one of the following error codes, among others:
<dl><dt><code>kAXErrorInvalidUIElementObserver</code></dt><dd>The observer is not a valid AXObserverRef type.</dd>
<dt><code>kAXErrorIllegalArgument</code></dt><dd>One or more of the arguments is an illegal value or the length of the notification name is greater than 1024.</dd>
<dt><code>kAXErrorNotificationUnsupported</code></dt><dd>The accessibility object does not support notifications (note that the system-wide accessibility object does not support notifications).</dd>
<dt><code>kAXErrorNotificationNotRegistered</code></dt><dd>This observer has not registered for any notifications.</dd>
<dt><code>kAXErrorCannotComplete</code></dt><dd>The function cannot complete because messaging has failed in some way.</dd>
<dt><code>kAXErrorFailure</code></dt><dd>There is some sort of system memory failure.</dd></dl>
*/
extern AXError AXObserverRemoveNotification (AXObserverRef observer, AXUIElementRef element, CFStringRef notification);
/*!
@function AXObserverGetRunLoopSource
@abstract Returns the observer's run loop source.
@discussion The observer must be added to a run loop before it can receive notifications. Note that releasing the AXObserverRef automatically
removes the run loop source from the run loop (you can also do this explicitly by calling @link //apple_ref/c/func/CFRunLoopRemoveSource CFRunLoopRemoveSource@/link).
<code>AXObserverGetRunLoopSource</code> might be used in code in this way:
<pre>
CFRunLoopAddSource(CFRunLoopGetCurrent(), AXObserverGetRunLoopSource(observer), kCFRunLoopDefaultMode);
</pre>
@param observer The observer object (created from a call to @link AXObserverCreate AXObserverCreate@/link) for which to get the run loop source.
@result Returns the CFRunLoopSourceRef of the observer; NIL if you pass NIL in <code>observer</code>.
*/
extern CFRunLoopSourceRef AXObserverGetRunLoopSource (AXObserverRef observer);
CF_IMPLICIT_BRIDGING_DISABLED
CF_ASSUME_NONNULL_END
#ifdef __cplusplus
}
#endif
#endif // __AXUIELEMENT__

View File

@@ -0,0 +1,129 @@
/*
* AXValue.h
* Accessibility
*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
*/
#ifndef __AXVALUE__
#define __AXVALUE__
#include <AvailabilityMacros.h>
#ifdef __cplusplus
extern "C" {
#endif
#include <CoreServices/CoreServices.h>
#include <CoreFoundation/CoreFoundation.h>
CF_ASSUME_NONNULL_BEGIN
CF_IMPLICIT_BRIDGING_ENABLED
/* Need discussion for following */
/*! @header AXValue.h
@discussion
This header contains functions and data types for
working with AXValueType wrappers.
*/
/*!
@enum AXValueType Wrappers
@discussion
These are AXValueType wrappers for other structures. You must use the AXValueCreate
and AXValueGetValue functions to convert between the wrapped structure and the native structure.
@constant kAXValueTypeCGPoint a wrapper for CGPoint; see CoreGraphics.h
@constant kAXValueTypeCGSize a wrapper for CGSize; see CoreGraphics.h
@constant kAXValueTypeCGRect a wrapper for CGRect; see CoreGraphics.h
@constant kAXValueTypeCFRange a wrapper for CFRange; see CFBase.h
@constant kAXValueTypeAXError See AXError.h
@constant kAXValueTypeIllegal a wrapper for unsupported structures
*/
typedef CF_ENUM(UInt32, AXValueType) {
kAXValueTypeCGPoint CF_ENUM_AVAILABLE_MAC(10_11) = 1,
kAXValueTypeCGSize CF_ENUM_AVAILABLE_MAC(10_11) = 2,
kAXValueTypeCGRect CF_ENUM_AVAILABLE_MAC(10_11) = 3,
kAXValueTypeCFRange CF_ENUM_AVAILABLE_MAC(10_11) = 4,
kAXValueTypeAXError CF_ENUM_AVAILABLE_MAC(10_11) = 5,
kAXValueTypeIllegal CF_ENUM_AVAILABLE_MAC(10_11) = 0,
};
// Legacy constants will be deprecated shortly. Please switch to using AXValueType
static const UInt32 kAXValueCGPointType = kAXValueTypeCGPoint;
static const UInt32 kAXValueCGSizeType = kAXValueTypeCGSize;
static const UInt32 kAXValueCGRectType = kAXValueTypeCGRect;
static const UInt32 kAXValueCFRangeType = kAXValueTypeCFRange;
static const UInt32 kAXValueAXErrorType = kAXValueTypeAXError;
static const UInt32 kAXValueIllegalType = kAXValueTypeIllegal;
/* Need discussion for following */
/*!
@typedef AXValueRef
*/
typedef const struct CF_BRIDGED_TYPE(id) __AXValue *AXValueRef;
/* Need discussion for following */
/*!
@function AXValueGetTypeID
@result
@availability Mac OS X version 10.3 or later
*/
extern CFTypeID AXValueGetTypeID() AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*!
@function AXValueCreate
@discussion
Encodes a structure pointed to by valuePtr into a CFTypeRef.
@param theType
@param valuePtr
@result
*/
extern AXValueRef __nullable AXValueCreate (AXValueType theType, const void *valuePtr);
/*!
@function AXValueGetType
@discussion
Returns the structure type encoded in value. If the type is not recognized, it returns kAXValueIllegalType.
@param value
@result
*/
extern AXValueType AXValueGetType(AXValueRef value);
/*!
@function AXValueGetValue
@discussion
Decodes the structure stored in value and copies it into valuePtr. If the structure stored in value is not
the same as requested by theType, the function returns false.
@param value
@result
*/
extern Boolean AXValueGetValue(AXValueRef value, AXValueType theType, void *valuePtr);
CF_IMPLICIT_BRIDGING_DISABLED
CF_ASSUME_NONNULL_END
#ifdef __cplusplus
}
#endif
#endif // __AXVALUE__

View File

@@ -0,0 +1,84 @@
/*
* AXValueConstants.h
* HIServices
*
* Copyright (c) 2004,2012 Apple Inc. All rights reserved.
*
*/
#ifndef __AXVALUECONSTANTS__
#define __AXVALUECONSTANTS__
/* Need discussion for following */
/*!
@header AXValueConstants.h
*/
// orientations (see kAXOrientationAttribute in AXAttributeConstants.h)
/* Need discussion for following */
/*!
@defined kAXHorizontalOrientationValue
@discussion
*/
#define kAXHorizontalOrientationValue CFSTR("AXHorizontalOrientation")
/* Need discussion for following */
/*!
@defined kAXVerticalOrientationValue
@discussion
*/
#define kAXVerticalOrientationValue CFSTR("AXVerticalOrientation")
/* Need discussion for following */
/*!
@defined kAXUnknownOrientationValue
@discussion
*/
#define kAXUnknownOrientationValue CFSTR("AXUnknownOrientation")
// sort directions (see kAXSortDirectionAttribute in AXAttributeConstants.h)
/* Need discussion for following */
/*!
@defined kAXAscendingSortDirectionValue
@discussion
*/
#define kAXAscendingSortDirectionValue CFSTR("AXAscendingSortDirection")
/* Need discussion for following */
/*!
@defined kAXDescendingSortDirectionValue
@discussion
*/
#define kAXDescendingSortDirectionValue CFSTR("AXDescendingSortDirection")
/* Need discussion for following */
/*!
@defined kAXUnknownSortDirectionValue
@discussion
*/
#define kAXUnknownSortDirectionValue CFSTR("AXUnknownSortDirection")
#endif // __AXVALUECONSTANTS__

View File

@@ -0,0 +1,17 @@
/*
* Accessibility.h
*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
*/
#ifndef __ACCESSIBILITY__
#define __ACCESSIBILITY__
#include <HIServices/AXError.h>
#include <HIServices/AXConstants.h>
#include <HIServices/AXUIElement.h>
#include <HIServices/AXValue.h>
#include <HIServices/AXTextAttributedString.h>
#endif // __ACCESSIBILITY__

View File

@@ -0,0 +1,60 @@
/*
File: HIServices/HIServices.h
Contains: Master include for HIServices framework
Copyright: 2002-2018 by Apple, Inc., all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __HISERVICES__
#define __HISERVICES__
#include <TargetConditionals.h>
#ifndef __CORESERVICES__
#include <CoreServices/CoreServices.h>
#endif
#if TARGET_OS_OSX
#ifndef __HISHAPE__
#include <HIServices/HIShape.h>
#endif
#ifndef __ICONS__
#include <HIServices/Icons.h>
#endif
#ifndef __INTERNETCONFIG__
#include <HIServices/InternetConfig.h>
#endif
#ifndef __PROCESSES__
#include <HIServices/Processes.h>
#endif
#ifndef __PASTEBOARD__
#include <HIServices/Pasteboard.h>
#endif
#ifndef __TRANSLATIONSERVICES__
#include <HIServices/TranslationServices.h>
#endif
#ifndef __ACCESSIBILITY__
#include <HIServices/Accessibility.h>
#endif
#ifndef __UNIVERSALACCESS__
#include <HIServices/UniversalAccess.h>
#endif
#endif
#endif /* __HISERVICES__ */

View File

@@ -0,0 +1,32 @@
/*
File: HIServices.r
Contains: Master include for HIServices framework
Copyright: <20> 2002-2012 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 __HISERVICES_R__
#define __HISERVICES_R__
#ifndef __CORESERVICES_R__
#include <CoreServices/CoreServices.r>
#endif
#ifndef __ICONS_R__
#include <HIServices/Icons.r>
#endif
#ifndef __PROCESSES_R__
#include <HIServices/Processes.r>
#endif
#endif /* __HISERVICES_R__ */

View File

@@ -0,0 +1,377 @@
/*
File: Icons.r
Contains: Icon Utilities and Icon Services Interfaces.
Copyright: <20> 1990-2012 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 __ICONS_R__
#define __ICONS_R__
#ifndef __QUICKDRAW_R__
#include <QD/Quickdraw.r>
#endif
#ifndef __CORESERVICES_R__
#include <CoreServices/CoreServices.r>
#endif
#define kAlignNone 0x00
#define kAlignVerticalCenter 0x01
#define kAlignTop 0x02
#define kAlignBottom 0x03
#define kAlignHorizontalCenter 0x04
#define kAlignAbsoluteCenter 0x05
#define kAlignCenterTop 0x06
#define kAlignCenterBottom 0x07
#define kAlignLeft 0x08
#define kAlignCenterLeft 0x09
#define kAlignTopLeft 0x0A
#define kAlignBottomLeft 0x0B
#define kAlignRight 0x0C
#define kAlignCenterRight 0x0D
#define kAlignTopRight 0x0E
#define kAlignBottomRight 0x0F
#define atNone 0x00
#define atVerticalCenter 0x01
#define atTop 0x02
#define atBottom 0x03
#define atHorizontalCenter 0x04
#define atAbsoluteCenter 0x05
#define atCenterTop 0x06
#define atCenterBottom 0x07
#define atLeft 0x08
#define atCenterLeft 0x09
#define atTopLeft 0x0A
#define atBottomLeft 0x0B
#define atRight 0x0C
#define atCenterRight 0x0D
#define atTopRight 0x0E
#define atBottomRight 0x0F
#define kTransformNone 0x00
#define kTransformDisabled 0x01
#define kTransformOffline 0x02
#define kTransformOpen 0x03
#define kTransformLabel1 0x0100
#define kTransformLabel2 0x0200
#define kTransformLabel3 0x0300
#define kTransformLabel4 0x0400
#define kTransformLabel5 0x0500
#define kTransformLabel6 0x0600
#define kTransformLabel7 0x0700
#define kTransformSelected 0x4000
#define kTransformSelectedDisabled 0x4001
#define kTransformSelectedOffline 0x4002
#define kTransformSelectedOpen 0x4003
#define ttNone 0x00
#define ttDisabled 0x01
#define ttOffline 0x02
#define ttOpen 0x03
#define ttLabel1 0x0100
#define ttLabel2 0x0200
#define ttLabel3 0x0300
#define ttLabel4 0x0400
#define ttLabel5 0x0500
#define ttLabel6 0x0600
#define ttLabel7 0x0700
#define ttSelected 0x4000
#define ttSelectedDisabled 0x4001
#define ttSelectedOffline 0x4002
#define ttSelectedOpen 0x4003
#define kSelectorLarge1Bit 0x00000001
#define kSelectorLarge4Bit 0x00000002
#define kSelectorLarge8Bit 0x00000004
#define kSelectorLarge32Bit 0x00000008
#define kSelectorLarge8BitMask 0x00000010
#define kSelectorSmall1Bit 0x00000100
#define kSelectorSmall4Bit 0x00000200
#define kSelectorSmall8Bit 0x00000400
#define kSelectorSmall32Bit 0x00000800
#define kSelectorSmall8BitMask 0x00001000
#define kSelectorMini1Bit 0x00010000
#define kSelectorMini4Bit 0x00020000
#define kSelectorMini8Bit 0x00040000
#define kSelectorHuge1Bit 0x01000000
#define kSelectorHuge4Bit 0x02000000
#define kSelectorHuge8Bit 0x04000000
#define kSelectorHuge32Bit 0x08000000
#define kSelectorHuge8BitMask 0x10000000
#define kSelectorAllLargeData 0x000000FF
#define kSelectorAllSmallData 0x0000FF00
#define kSelectorAllMiniData 0x00FF0000
#define kSelectorAllHugeData 0xFF000000
#define kSelectorAll1BitData 0x01010101
#define kSelectorAll4BitData 0x02020202
#define kSelectorAll8BitData 0x04040404
#define kSelectorAll32BitData 0x08000808
#define kSelectorAllAvailableData 0xFFFFFFFF
#define svLarge1Bit 0x00000001
#define svLarge4Bit 0x00000002
#define svLarge8Bit 0x00000004
#define svSmall1Bit 0x00000100
#define svSmall4Bit 0x00000200
#define svSmall8Bit 0x00000400
#define svMini1Bit 0x00010000
#define svMini4Bit 0x00020000
#define svMini8Bit 0x00040000
#define svAllLargeData 0x000000FF
#define svAllSmallData 0x0000FF00
#define svAllMiniData 0x00FF0000
#define svAll1BitData 0x01010101
#define svAll4BitData 0x02020202
#define svAll8BitData 0x04040404
#define svAllAvailableData 0xFFFFFFFF
#define kPlotIconRefNormalFlags 0
#define kPlotIconRefNoImage 0x02
#define kPlotIconRefNoMask 0x04
/*-----------------------------------cicn <20> Color Icon -------------------------------------------*/
/*
cicn_RezTemplateVersion:
0 - original
1 - auto calculate much of internal data <-- default
*/
#ifndef cicn_RezTemplateVersion
#ifdef oldTemp /* grandfather in use of <20>oldTemp<6D> */
#define cicn_RezTemplateVersion 0
#else
#define cicn_RezTemplateVersion 1
#endif
#endif
type 'cicn' {
/* IconPMap (pixMap) record */
fill long; /* Base address */
unsigned bitstring[1] = 1; /* New pixMap flag */
unsigned bitstring[2] = 0; /* Must be 0 */
#if cicn_RezTemplateVersion == 0
pMapRowBytes:
unsigned bitstring[13]; /* Offset to next row */
Bounds:
rect; /* Bitmap bounds */
integer; /* pixMap vers number */
integer unpacked; /* Packing format */
unsigned longint; /* Size of pixel data */
unsigned hex longint; /* h. resolution (ppi) (fixed) */
unsigned hex longint; /* v. resolution (ppi) (fixed) */
integer chunky, chunkyPlanar, planar; /* Pixel storage format */
integer; /* # bits in pixel */
integer; /* # components in pixel*/
integer; /* # bits per field */
unsigned longint; /* Offset to next plane */
unsigned longint; /* Offset to color table*/
fill long; /* Reserved */
/* IconMask (bitMap) record */
fill long; /* Base address */
maskRowBytes:
integer; /* Row bytes */
rect; /* Bitmap bounds */
/* IconBMap (bitMap) record */
fill long; /* Base address */
iconBMapRowBytes:
integer; /* Row bytes */
rect; /* Bitmap bounds */
fill long; /* Handle placeholder */
/* Mask data */
hex string [$$Word(maskRowBytes) * PIXMAPHEIGHT];
/* BitMap data */
hex string [$$Word(iconBMapRowBytes) * PIXMAPHEIGHT];
/* Color Table */
unsigned hex longint; /* ctSeed */
integer; /* ctFlags */
integer = $$Countof(ColorSpec) - 1; /* ctSize */
wide array ColorSpec {
integer; /* value */
unsigned integer; /* RGB: red */
unsigned integer; /* green */
unsigned integer; /* blue */
};
/* PixelMap data */
hex string [$$BitField(pMapRowBytes, 0, 13) * PIXMAPHEIGHT];
#else
pMapRowBytes:
unsigned bitstring[13] k32x32x4 = 16; /* Offset to next row */
Bounds:
rect; /* Bitmap bounds */
integer = 0; /* pixMap vers number */
integer = 0; /* Packing format */
fill long; /* Size of pixel data */
unsigned hex longint = $00480000; /* h. resolution (ppi) */
unsigned hex longint = $00480000; /* v. resolution (ppi) */
integer = 0 /* chunky */; /* Pixel storage format */
PixelSize:
integer; /* # bits in pixel */
integer = 1; /* # components in pixel*/
integer = $$Word(PixelSize); /* # bits per field */
fill long;
fill long;
fill long;
/* IconMask (bitMap) record */
fill long; /* Base address */
integer = BitMapRowBytes; /* Row bytes */
PixMapBounds; /* Bitmap bounds */
/* IconBMap (bitMap) record */
fill long; /* Base address */
integer = BitMapRowBytes; /* Row bytes */
PixMapBounds; /* Bitmap bounds */
fill long; /* Handle placeholder */
/* Mask data */
hex string [BitMapRowBytes * PixMapHeight];
/* BitMap data */
hex string [BitMapRowBytes * PixMapHeight];
ColorTable:
unsigned hex longint = 0; /* ctSeed */
integer = 0; /* ctFlags */
integer = $$Countof(ColorSpec) - 1; /* ctSize */
wide array ColorSpec {
integer = $$ArrayIndex(ColorSpec) - 1; /* value */
unsigned integer; /* RGB: red */
unsigned integer; /* green */
unsigned integer; /* blue */
};
PixelData:
hex string [PixMapRowBytes * PixMapHeight]; /* more of the pixmap */
#endif
};
/*----------------------------ICON <20> Icon-----------------------------------------------*/
type 'ICON' {
hex string[128]; /* Icon data */
};
/*----------------------------ICN# <20> Icon List------------------------------------------*/
type 'ICN#' {
array {
hex string[128]; /* Icon data */
};
};
/*----------------------------SICN <20> Small Icon-----------------------------------------*/
type 'SICN' {
array {
hex string[32]; /* SICN data */
};
};
/*--------------------------ics# <20> small icons with masks-------------------------------*/
type 'ics#' {
array [2] {
hex string[32];
};
};
/*--------------------------icm# <20> mini icons with masks--------------------------------*/
type 'icm#' {
array [2] {
hex string[24];
};
};
/*--------------------------icm8 <20> 8-bit mini icon no mask------------------------------*/
type 'icm8' {
hex string[192];
};
/*--------------------------icm4 <20> 4-bit mini icon no mask------------------------------*/
type 'icm4' {
hex string[96];
};
/*--------------------------icl8 <20> 8-bit large icon no mask-----------------------------*/
type 'icl8' {
hex string[1024];
};
/*--------------------------icl4 <20> 4-bit large icon no mask-----------------------------*/
type 'icl4' {
hex string[512];
};
/*--------------------------ics8 <20> 8-bit small icon no mask-----------------------------*/
type 'ics8' {
hex string[256];
};
/*--------------------------ics4 <20> 4-bit small icon no mask-----------------------------*/
type 'ics4' {
hex string[128];
};
/*-------------------------------<EFBFBD> Keyboard Icons---------------------------------------*/
type 'KCN#' as 'ICN#';
type 'kcs#' as 'ics#'; /* Keyboard small icon */
type 'kcl8' as 'icl8'; /* Keyboard 8-bit color icon */
type 'kcl4' as 'icl4'; /* Keyboard 4-bit color icon */
type 'kcs8' as 'ics8'; /* Keyboard 8-bit small color icon */
type 'kcs4' as 'ics4'; /* Keyboard 4-bit small color icon */
/*--------------------------icns <20> icon family-----------------------------*/
type 'icns' {
iconFamilyBegin:
literal longint = 'icns';
unsigned longint = (iconFamilyEnd - iconFamilyBegin) >> 3;
array elementArray {
literal longint;
#if derez
len:
fill long;
hex string[$$Long(len[$$ArrayIndex(elementArray)]) - 8];
#else
elementBegin:
longint = (elementEnd[$$ArrayIndex(elementArray)] -
elementBegin[$$ArrayIndex(elementArray)] >> 3) + 4;
hex string;
elementEnd:
#endif
};
iconFamilyEnd:
};
#endif /* __ICONS_R__ */

View File

@@ -0,0 +1,887 @@
/*
File: HIServices/Pasteboard.h
Contains: Pasteboard Manager Interfaces.
Copyright: <20> 2003-2012 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 __PASTEBOARD__
#define __PASTEBOARD__
#ifndef __COREFOUNDATION__
#include <CoreFoundation/CoreFoundation.h>
#endif
#ifndef __CGGEOMETRY__
#include <CoreGraphics/CGGeometry.h>
#endif
#include <AvailabilityMacros.h>
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
CF_ASSUME_NONNULL_BEGIN
CF_IMPLICIT_BRIDGING_ENABLED
/*
* Pasteboard Manager
*
* Discussion:
* Pasteboard Manager is the replacement of the Scrap and Drag
* flavor APIs. Like the Scrap Manager, it is a cross process data
* transport mechanism. Unlike the Drag Manager, it is not bound to
* particular high level user actions to initiate and resolve the
* data transport. This allows the Pasteboard Manager to be used as
* the data transport mechanism for copy and paste, drag and drop,
* services, as well as generic cross process communication.
*
*
* Like scraps, pasteboards are local references to global, cross
* process, resources. Although, where scraps exist forever,
* pasteboard are CFTypes and should be released at the end of their
* usefulness. Multiple pasteboard references in a single
* application may point to the same global pasteboard resource.
* Once the global pasteboard resource has been cleared, all
* pasteboard references to that global resource in the application
* share ownership allowing any of them to add data to the
* pasteboard. Of course, this is not a free for all. Once a flavor
* has been added it can not be overwritten by another local
* reference. Calling CFRelease() on any one of these references
* will implicitly call in promises, but only those made through the
* particular pasteboard reference being released. In this way,
* local pasteboard references in various components of the
* application can add data, make promises, keep those promises, and
* release their local pasteboard reference independently of the
* other components.
*
* For long lived pasteboards, like the clipboard or find
* pasteboards, the suggested usage model is for a component to
* create a local reference to a pasteboard at the beginning of its
* life cycle, hold on to it, and release it at the end of its life
* cycle. As long as a pasteboard reference in any application still
* points to the global pasteboard resource, the global resource
* will not be released. When the final reference is released,
* promises will not be called in as the global pasteboard resource
* will be released. Only if you want to guarantee a global
* pasteboard resource continues to exist beyond the life of your
* application should you refrain from calling CFRelease(). In this
* case, be sure to call PasteboardResolvePromises() to make sure
* any promises are called in. This is not necessary for the
* clipboard and find pasteboards as they are retained by the system
* and never released.
*
* Like the Drag Manager, the Pasteboard Manager allows the use of
* multiple items each with its own set of flavors. When using the
* clipboard or find pasteboards, it's traditionally been common to
* only use the first item, but now multiple items can be copied as
* is the case in the Finder. This also opens up the ability for
* services to act on multiple items. Another difference from both
* the Scrap and Drag Managers is the use of Uniform Type Identifier
* based flavor types rather than four character code OSTypes. These
* have several advantages. They allow compatibility with Cocoa's
* NSPasteboard, more accurately describe the data being
* transported, provide a type inheritance mechanism and allow
* namespacing with a reverse DNS scheme.
*/
typedef struct CF_BRIDGED_TYPE(id) OpaquePasteboardRef* PasteboardRef;
typedef void * PasteboardItemID;
/* Pasteboard Manager error codes*/
enum {
badPasteboardSyncErr = -25130, /* pasteboard has been modified and must be synchronized*/
badPasteboardIndexErr = -25131, /* item index does not exist*/
badPasteboardItemErr = -25132, /* item reference does not exist*/
badPasteboardFlavorErr = -25133, /* item flavor does not exist*/
duplicatePasteboardFlavorErr = -25134, /* item flavor already exists*/
notPasteboardOwnerErr = -25135, /* client did not clear the pasteboard*/
noPasteboardPromiseKeeperErr = -25136 /* a promise is being added without a promise keeper*/
};
/*
* PasteboardSyncFlags
*
* Summary:
* The following constants are used by the PasteboardSynchronize()
* routine to indicate the status of the local pasteboard reference
* in relation to the global, cross process pasteboard resource.
*/
typedef CF_OPTIONS(OptionBits, PasteboardSyncFlags) {
/*
* Indicates that the global pasteboard resource has been modified
* since the last time it was accessed via the local pasteboard
* reference. The call to PasteboardSynchronize() has updated the
* local pasteboard reference to sync it up with the global resource.
* This is a good time to see what new information has been placed on
* the pasteboard to determine whether any tasty flavors have been
* added and possibly enable pasting.
*/
kPasteboardModified = (1 << 0),
/*
* Indicates that the global pasteboard resource was most recently
* cleared by the this application. Any local pasteboard reference in
* the client application may add data to the global pasteboard
* resource.
*/
kPasteboardClientIsOwner = (1 << 1)
};
/*
* Pasteboard File Promising
*
* Summary:
* With the FSSpec type being deprecated and removed for 64 bit it is necessary
* to introduce a replacement for kDragFlavorTypePromiseHFS. The replacement comes
* in the form of two new Uniform Type Identifiers specifically for use with the
* pasteboard and promised files. Like the old HFS promise mechanism, the new UTI
* based method still requires a multistage handshake between sender and receiver
* but the process is somewhat simplified.
*
* Order of operations on copy or drag
*
* 1) The sender promises kPasteboardTypeFileURLPromise for a file yet to be created.
* 2) The sender adds kPasteboardTypeFilePromiseContent containing the UTI describing
* the file's content.
*
* Order of operations on paste or drop
*
* 3) The receiver asks for kPasteboardTypeFilePromiseContent to decide if it wants the file.
* 4) The receiver sets the paste location with PasteboardSetPasteLocation.
* 5) The receiver asks for kPasteboardTypeFileURLPromise.
* 6) The sender's promise callback for kPasteboardTypeFileURLPromise is called.
* 7) The sender uses PasteboardCopyPasteLocation to retrieve the paste location, creates the file
* and keeps its kPasteboardTypeFileURLPromise promise.
*
* Automatic translation support has been added so clients operating in the modern
* kPasteboardTypeFileURLPromise and kPasteboardTypeFilePromiseContent world can continue
* to communicate properly with clients using the traditional kDragFlavorTypePromiseHFS and
* kDragPromisedFlavor model.
*/
/*
* kPasteboardTypeFileURLPromise
*
* Discussion:
* A UTF-8 encoded promised file url on the pasteboard to a file
* which does not yet exist.
*/
#define kPasteboardTypeFileURLPromise CFSTR("com.apple.pasteboard.promised-file-url")
/*
* kPasteboardTypeFilePromiseContent
*
* Discussion:
* A UTF-8 encoded UTI describing the type of data to be contained
* within the promised file.
*/
#define kPasteboardTypeFilePromiseContent CFSTR("com.apple.pasteboard.promised-file-content-type")
/*
* PasteboardFlavorFlags
*
* Summary:
* Pasteboard Flavor Flags
*
* Discussion:
* The following constants are used to tag pasteboard item flavors
* with bits of useful information. The first five are settable by
* the client via PasteboardPutItemFlavor(). They may all be
* received via PasteboardGetItemFlavorFlags().
*/
typedef CF_OPTIONS(OptionBits, PasteboardFlavorFlags) {
/*
* No additional information exists for this flavor.
*/
kPasteboardFlavorNoFlags = 0,
/*
* Only the process which has added this flavor can see it. If the
* process that owns the pasteboard places this flag on a flavor
* you'll never see it as the receiver so there's no reason to test
* for it.
*/
kPasteboardFlavorSenderOnly = (1 << 0),
/*
* The data for this flavor was translated in some manner by the
* sender before adding it to the pasteboard. Flavors marked with
* this flag are not stored by the Finder in clipping files.
*/
kPasteboardFlavorSenderTranslated = (1 << 1),
/*
* Set by the sender if the flavor data should not be saved by the
* receiver. The data contained may become stale after the end of the
* drag. Flavors marked with this flag are not stored by the Finder
* in clipping files.
*/
kPasteboardFlavorNotSaved = (1 << 2),
/*
* Like kPasteboardFlavorSenderOnly, when the sender adds this flag,
* the presence of this flavor will not be made known when
* PasteboardCopyItemFlavors() is called by the receiver. However,
* the flavor flags and data can be accessed when explicitly
* requested via PasteboardGetItemFlavorFlags() or
* PasteboardCopyItemFlavorData(). This allows a suite of
* applications to communicate without exporting their method of
* communication.
*/
kPasteboardFlavorRequestOnly = (1 << 3),
/*
* The data for this flavor is provided by the Translation Manager as
* a convenience to receivers. Flavors marked with this flag are not
* stored by the Finder in clipping files. This flag can not be added
* by clients. It is automatically added by the Pasteboard Manager
* when appropriate.
*/
kPasteboardFlavorSystemTranslated = (1 << 8),
/*
* The data for this flavor has not yet been added to the pasteboard
* by the sender. This may have been done as a performance measure if
* the data is expensive to generate. A request by the receiver to
* obtain the data will cause the promise to be kept by the sender.
* This flag can not be added by clients. It is automatically added
* by the Pasteboard Manager when appropriate.
*/
kPasteboardFlavorPromised = (1 << 9)
};
/*
* PasteboardStandardLocation
*
* Summary:
* Pasteboard Standard Drop Locations
*
* Discussion:
* The following constants define common "meta" paste locations.
*/
typedef CF_ENUM(OSType, PasteboardStandardLocation) {
/*
* The paste or drop location was in the trash. This is set when a
* drag is dropped on the trash icon or a paste occurs within the
* trash. Setting this standard paste location sets the traditional
* paste location to an alias to the trash folder automatically.
*/
kPasteboardStandardLocationTrash = 'trsh',
/*
* The receiver did not specify a paste location. This is the default.
*/
kPasteboardStandardLocationUnknown = 'unkn'
};
/*
* PasteboardGetTypeID()
*
* Summary:
* Returns the CFType identifier for a pasteboard object.
*
* Mac OS X threading:
* Not thread safe
*
* Result:
* A CFTypeID unique to pasteboard instances.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern CFTypeID
PasteboardGetTypeID(void) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
#define kPasteboardClipboard CFSTR("com.apple.pasteboard.clipboard")
#define kPasteboardFind CFSTR("com.apple.pasteboard.find")
#define kPasteboardUniqueName (CFStringRef)NULL
/*
* PasteboardCreate()
*
* Summary:
* Creates a local pasteboard reference to the global pasteboard
* resource of the same name.
*
* Discussion:
* If the the global pasteboard resource doesn't yet exist,
* PasteboardCreate creates a new one with the provided name.
* Pasteboard names are typically represented in a reverse DNS
* scheme (i.e., com.apple.pasteboard.clipboard). Multiple local
* pasteboard references may point to the same global pasteboard
* resource within an application. An application, window, plug-in,
* or object may each hold separate references. These should be held
* and used for the life time of the objects. Pasteboard references
* are CFTypes. Their memory should be released by calling
* CFRelease(). CFRelease() automatically resolves all promises made
* to the global pasteboard resource through the reference being
* released.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inName:
* The name of the pasteboard to reference or create. Passing
* kPasteboardUniqueName, or NULL, will guarantee that a new
* global pasteboard resource is created. kPasteboardClipboard is
* the traditional copy and paste pasteboard. kPasteboardFind is
* compatible with Cocoa's global find pasteboard.
*
* outPasteboard:
* The created pasteboard reference.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
PasteboardCreate(
CFStringRef _Nullable inName, /* can be NULL */
PasteboardRef _Nullable * _Nonnull outPasteboard CF_RETURNS_RETAINED) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* PasteboardSynchronize()
*
* Summary:
* Compares a local pasteboard reference with the global pasteboard
* resource to which it refers, determining whether the global
* pasteboard resource has been modified. If so, it updates the
* local pasteboard reference to reflect the change. The pasteboard
* reference provided is always brought up to date. This routine is
* lightweight whether a synchronization is required or not.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inPasteboard:
* A local pasteboard reference.
*
* Result:
* A set of pasteboard synchronization flags.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern PasteboardSyncFlags
PasteboardSynchronize(PasteboardRef inPasteboard) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* PasteboardClear()
*
* Summary:
* Clears all data from the global pasteboard resource associated
* with the pasteboard reference provided. The application now owns
* the pasteboard and data may be placed onto the global pasteboard
* resource from all local pasteboards in the client application
* which reference it. PasteboardClear must be called before the
* pasteboard can be modified.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inPasteboard:
* A local pasteboard reference.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
PasteboardClear(PasteboardRef inPasteboard) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* PasteboardCopyName()
*
* Summary:
* Copies the name of the given pasteboard. Useful for discovering
* the name of a uniquely named pasteboard so other processes may
* access it.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inPasteboard:
* A local pasteboard reference.
*
* outName:
* On return, a CFString reference to the pasteboard's name. This
* string must be released by the client.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.4 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
PasteboardCopyName(
PasteboardRef inPasteboard,
CFStringRef _Nullable * _Nonnull outName CF_RETURNS_RETAINED) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
/*
* PasteboardGetItemCount()
*
* Summary:
* Returns the number of items on the pasteboard.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inPasteboard:
* A local pasteboard reference.
*
* outItemCount:
* An ItemCount reference which receives number of pasteboard
* items.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
PasteboardGetItemCount(
PasteboardRef inPasteboard,
ItemCount * outItemCount) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* PasteboardGetItemIdentifier()
*
* Summary:
* Returns the item identifier for the nth pasteboard item.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inPasteboard:
* A local pasteboard reference.
*
* inIndex:
* A 1-based CFIndex requesting the nth pasteboard item reference.
*
* outItem:
* A PasteboardItemID which receives the nth pasteboard item
* reference.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
PasteboardGetItemIdentifier(
PasteboardRef inPasteboard,
CFIndex inIndex,
PasteboardItemID _Nullable * _Nonnull outItem) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* PasteboardCopyItemFlavors()
*
* Summary:
* Returns the array of flavors for the provided pasteboard
* reference.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inPasteboard:
* A local pasteboard reference.
*
* inItem:
* A pasteboard item identifier containing the flavors of interest.
*
* outFlavorTypes:
* A CFArrayRef reference which receives the array of Uniform Type
* Identifier based flavor types. It is the client's
* responsibility to release the flavor array via CFRelease().
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
PasteboardCopyItemFlavors(
PasteboardRef inPasteboard,
PasteboardItemID inItem,
CFArrayRef _Nullable * _Nonnull outFlavorTypes CF_RETURNS_RETAINED) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* PasteboardGetItemFlavorFlags()
*
* Summary:
* Returns the array of flags for the provided flavor, including
* implicit translations included by the system automatically.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inPasteboard:
* A local pasteboard reference.
*
* inItem:
* A pasteboard item identifier containing the flavor of interest.
*
* inFlavorType:
* A Uniform Type Identifier based flavor type whose flags are
* being interrogated.
*
* outFlags:
* A PasteboardFlavorFlags reference which receives the flavor
* flags.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
PasteboardGetItemFlavorFlags(
PasteboardRef inPasteboard,
PasteboardItemID inItem,
CFStringRef inFlavorType,
PasteboardFlavorFlags * outFlags) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* PasteboardCopyItemFlavorData()
*
* Summary:
* Returns the data for the provided flavor.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inPasteboard:
* A local pasteboard reference.
*
* inItem:
* A pasteboard item identifier containing the flavor of interest.
*
* inFlavorType:
* A Uniform Type Identifier-based flavor type whose data is being
* retrieved.
*
* outData:
* A CFDataRef reference which receives the flavor data. It is the
* client's responsibility to release the data via CFRelease().
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
PasteboardCopyItemFlavorData(
PasteboardRef inPasteboard,
PasteboardItemID inItem,
CFStringRef inFlavorType,
CFDataRef _Nullable * _Nonnull outData CF_RETURNS_RETAINED) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
#define kPasteboardPromisedData (CFDataRef)NULL
/*
* PasteboardPutItemFlavor()
*
* Summary:
* Adds flavor data or a promise to the global pasteboard resource.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inPasteboard:
* A local pasteboard reference.
*
* inItem:
* A pasteboard item identifier in which to add the data or
* promise. Pasteboard item identifiers are unique values created
* by the owning application when adding pasteboard item flavor
* information to a drag. Additional flavors may be added to an
* existing item by using the same item identifier value.
* Depending on the application, it might be easier to use
* internal memory addresses as item identifiers (as long as each
* item being added has a unique item reference number).
* Pasteboard item identifiers should only be interpreted by the
* owning application.
*
* inFlavorType:
* A Uniform Type Identifier based flavor type associated with the
* data. If multiple flavors are to be added to an item, the
* owning application should add them in order of preference or
* richness as determined by the owing application. The ordering
* will be retained when viewed by the receiving application.
*
* inData:
* A CFDataRef reference which receives the flavor data. Passing
* kPasteboardPromisedData, or NULL, indicates the data is
* promised. This is useful if the data is expensive to generate.
* Making promises requires the sender to also implement a promise
* keeper which must be set before the promise is made.
*
* inFlags:
* A PasteboardFlavorFlags set of flags to attach to the data.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
PasteboardPutItemFlavor(
PasteboardRef inPasteboard,
PasteboardItemID inItem,
CFStringRef inFlavorType,
CFDataRef _Nullable inData, /* can be NULL */
PasteboardFlavorFlags inFlags) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* PasteboardCopyPasteLocation()
*
* Summary:
* Called by the owner of a pasteboard while providing promised data
* to determine the paste location set by the pasteboard receiver.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inPasteboard:
* A local pasteboard reference.
*
* outPasteLocation:
* A CFURL reference describing the paste location. It is the
* client's responsibility to release the data via CFRelease().
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
PasteboardCopyPasteLocation(
PasteboardRef inPasteboard,
CFURLRef _Nullable * _Nonnull outPasteLocation CF_RETURNS_RETAINED) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* PasteboardSetPasteLocation()
*
* Summary:
* Called by the receiver of a pasteboard before requesting any item
* flavor data via PasteboardCopyItemFlavorData. When a sending
* application's pasteboard promise keeper is called to provide data
* to the receiver, PasteboardGetDropLocation can be called to
* determine the paste location while providing data.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inPasteboard:
* A local pasteboard reference.
*
* inPasteLocation:
* A CFURL describing the paste location.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
PasteboardSetPasteLocation(
PasteboardRef inPasteboard,
CFURLRef inPasteLocation) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* PasteboardPromiseKeeperProcPtr
*
* Summary:
* Callback for providing data previously promised on the pasteboard.
*
* Parameters:
*
* pasteboard:
* The local pasteboard reference on which the promise was made.
*
* item:
* The pasteboard item identifier containing the promised flavor.
*
* flavorType:
* The Uniform Type Identifier based flavor type for which the
* promised data is being requested.
*
* context:
* The value passed as the context in PasteboardSetPromiseKeeper().
*
* Result:
* An operating system result code.
*/
typedef CALLBACK_API_C( OSStatus , PasteboardPromiseKeeperProcPtr )(PasteboardRef pasteboard, PasteboardItemID item, CFStringRef flavorType, void * _Nullable context);
/*
* PasteboardSetPromiseKeeper()
*
* Summary:
* Associates a promise keeper callback with a local pasteboard
* reference. The promise keeper must be set before a promise is
* made.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inPasteboard:
* The local pasteboard reference on which promises will be made.
*
* inPromiseKeeper:
* A PasteboardPromiseKeeperProcPtr promise keeper proc.
*
* inContext:
* The value passed in this parameter is passed on to your promise
* keeper proc when it is called.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
PasteboardSetPromiseKeeper(
PasteboardRef inPasteboard,
PasteboardPromiseKeeperProcPtr inPromiseKeeper,
void * _Nullable inContext) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
#define kPasteboardResolveAllPromises (PasteboardRef)NULL
/*
* PasteboardResolvePromises()
*
* Summary:
* Resolves promises on the provided local pasteboard reference. If
* multiple local pasteboard references to the same global
* pasteboard resource exist, only those promises made through the
* provided reference are resolved.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inPasteboard:
* The local pasteboard reference for which promises will be
* resolved. Passing kPasteboardResolveAllPromises, or NULL, will
* cause all promises on all global pasteboard resources currently
* owned by this application to be resolved.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
PasteboardResolvePromises(PasteboardRef inPasteboard) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
CF_IMPLICIT_BRIDGING_DISABLED
CF_ASSUME_NONNULL_END
#ifdef __cplusplus
}
#endif
#endif /* __PASTEBOARD__ */

View File

@@ -0,0 +1,83 @@
/*
File: Processes.r
Contains: Process Manager Interfaces.
Copyright: <20> 1989-2012 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 __PROCESSES_R__
#define __PROCESSES_R__
#ifndef __CORESERVICES_R__
#include <CoreServices/CoreServices.r>
#endif
/*----------------------------SIZE <20> MultiFinder Size Information-----------------------*/
#define ignoreAppDiedEvents ignoreChildDiedEvents
#define acceptAppDiedEvents acceptChildDiedEvents
#define needsActivateOnFGSwitch notMultiFinderAware /* for compatibility */
#define doesActivateOnFGSwitch multiFinderAware /* for compatibility */
#define dontSaveScreen reserved /* for compatibility */
#define saveScreen true /* for compatibility */
#define enableOptionSwitch reserved /* for compatibility */
#define disableOptionSwitch true /* for compatibility */
#undef reserved
type 'SIZE' {
boolean reserved;
boolean ignoreSuspendResumeEvents, /* suspend-resume */
acceptSuspendResumeEvents;
boolean reserved;
boolean cannotBackground,
canBackground; /* Can properly use back-
ground null events */
boolean needsActivateOnFGSwitch, /* activate/deactivate */
doesActivateOnFGSwitch; /* on resume/suspend */
boolean backgroundAndForeground, /* Application does not */
onlyBackground; /* have a user interface*/
boolean dontGetFrontClicks, /* Get mouse down/up */
getFrontClicks; /* when suspended */
boolean ignoreAppDiedEvents, /* Apps use this. */
acceptAppDiedEvents; /* Debuggers use this. */
boolean not32BitCompatible, /* Works with 24bit addr*/
is32BitCompatible; /* Works with 24 or 32 */
/* bit addresses */
/* next four bits are new for system 7.0 */
boolean notHighLevelEventAware,
isHighLevelEventAware; /* does Post/AcceptHighLevelEvent */
boolean onlyLocalHLEvents, /* paranoid users' flag */
localAndRemoteHLEvents;
boolean notStationeryAware, /* checks stationery bit */
isStationeryAware; /* when opening documents */
boolean dontUseTextEditServices, /* can use text services */
useTextEditServices; /* through TextEdit. */
boolean notDisplayManagerAware, /* All windows redrawn when */
/* monitor(s) change. */
isDisplayManagerAware; /* App will register a */
/* notification proc with DM*/
/* to handle monitor changes*/
boolean reserved; /* These 2 bits are reserved.*/
boolean reserved;
/* Memory sizes are in bytes */
unsigned longint; /* preferred mem size */
unsigned longint; /* minimum mem size */
// If we ever define one of the two reserved bits above, the "reserved"
// enumeration wouldn't appear on the newly defined bit. By defining "reserved"
// below, old resource SIZE declarations will still compile.
#define reserved false
};
#endif /* __PROCESSES_R__ */

View File

@@ -0,0 +1,536 @@
/*
File: HIServices/TranslationServices.h
Contains: Translation Services Interfaces.
Copyright: <20> 2003-2012 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 __TRANSLATIONSERVICES__
#define __TRANSLATIONSERVICES__
#ifndef __COREFOUNDATION__
#include <CoreFoundation/CoreFoundation.h>
#endif
#include <AvailabilityMacros.h>
#include <CoreServices/CoreServices.h> // FSRef
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*
* TranslationServices
*
* Discussion:
* Translation Services provides tools for conversion of data and
* file contents from one format to another. All information for
* performing a translation is contained within a TranslationRef.
* These include source and destination data types, flags indicating
* what type of translation can be performed and references to the
* system services which execute the translation. TranslationRefs
* are CFTypes which must be released after they are created. Source
* and destination formats as well as translation flags can be
* queried from the TranslationRef. TranslationRefs are generated
* either by requesting a specific translation via TranslationCreate
* or during discovery of all possible translations via
* TranslationCreateWithSourceArray. It is possible to request
* TranslationRefs which perform either data or file conversions or
* both by using TranslationFlags. When requesting a translation be
* executed via TranslationPerformForData, TranslationPerformForFile
* or TranslationPerformForURL it is important for the source and
* destination data formats to match those found in the
* TranslationRef.
*
* It is possible to extend the set of system services which provide
* translations by creating what is called a filter service. Filter
* services are applications similar to those which provide the
* services available in the application menu but with a few
* modifications in the application plist. Filter services provide
* an "NSFilter" entry instead of "NSMessage". Filter Services must
* also provide an array of both "NSSendTypes" and "NSReturnTypes"
* containing Uniform Type Identifiers indicating from which formats
* a filter services translates to what format. Each filter service
* may translate multiple send types into a single return type.
* Finally, a filter service must indicate what type of translations
* it supports via the "NSSupportsDataTranslation" and
* "NSSupportsFileTranslation" entries. In the end, a filter
* service's plist may look like the following,
*
*
*
* <key>NSServices</key>
* <array>
* <dict>
* <key>NSFilter</key>
* <string>ExampleTranslation</string>
* <key>NSReturnTypes</key>
* <array>
* <string>com.example.returntype</string>
* </array>
* <key>NSSendTypes</key>
* <array>
* <string>com.example.sourcetype1</string>
* <string>com.example.sourcetype2</string>
* </array>
* <key>NSSupportsDataTranslation</key>
* <string></string>
* <key>NSSupportsFileTranslation</key>
* <string></string>
* </dict>
<array>
*
*
*
* All filter services must handle the kEventServicePerform Carbon
* Event. The filter service will be automatically launched when
* necessary and it will receive the kEventServicePerform event with
* the message indicated by the NSFilter tag in the plist as well as
* a Pasteboard Manager pasteboard containing flavors indicating
* what type of translation must be performed. If a filter service
* only supports data translations a flavor on the pasteboard will
* correspond to one of the type identifiers listed in your plist's
* send types. Upon translation of the data, the filter service
* must clear the pasteboard, add the return identifier and
* translated data to the pasteboard, and return from the event. For
* a filter service which provides file translations,
* "public.file-url" and "com.apple.file-contents-type" will be
* available on the pasteboard indicating the file location and
* contents format from which to translate. Upon translation, the
* filter service should place a "public.file-url" flavor on the
* pasteboard indicating where the translated file has been placed,
* typically next to the orignal named "<filename> (converted)"
* (ala. Finder's "<filename> copy" behavior for duplicated files).
*/
typedef struct OpaqueTranslationRef* TranslationRef;
/* Translation Services error codes*/
enum {
/*invalidTranslationPathErr = -3025*/
/*couldNotParseSourceFileErr = -3026*/
/*noTranslationPathErr = -3030 // no translation for source and destination provided*/
/*badTranslationSpecErr = -3031*/
/*noPrefAppErr = -3032*/
badTranslationRefErr = -3031 /* TranslationRef does not perform translation requested*/
};
/*
* TranslationFlags
*
* Summary:
* The following constants are used by the translation creation
* routines to indicate which types of translations are requested.
* The flags are cumulative (ie. when passing both
* kTranslationDataTranslation and kTranslationFileTranslation the
* client is requesting only those translations which support both
* data AND file translations).
*/
typedef OptionBits TranslationFlags;
enum {
/*
* Indicates that the client is interested in translations which
* provide data translations.
*/
kTranslationDataTranslation = (1 << 0),
/*
* Indicates that the client is interested in translations which
* provide file translations.
*/
kTranslationFileTranslation = (1 << 1)
};
/*
* TranslationGetTypeID()
*
* Summary:
* Returns the CFType identifier for a translation object.
*
* Mac OS X threading:
* Not thread safe
*
* Result:
* A CFTypeID unique to translation instances.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern CFTypeID
TranslationGetTypeID(void) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* TranslationCreate()
*
* Summary:
* Creates a translation reference describing a system service
* providing translations of data from the source type to the
* destination type.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inSourceType:
* A Uniform Type Identifier specifying the format of source data
* to be translated.
*
* inDestinationType:
* A Uniform Type Identifier specifying the destination format to
* which the source data should be translated.
*
* inTranslationFlags:
* A set of TranslationFlags indicating what type of translation
* is requested.
*
* outTranslation:
* A TranslationRef reference which receives the requested
* translation if a system service providing the translation
* exists.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
TranslationCreate(
CFStringRef inSourceType,
CFStringRef inDestinationType,
TranslationFlags inTranslationFlags,
TranslationRef * outTranslation) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* TranslationCreateWithSourceArray()
*
* Summary:
* Creates a list of destination flavors translation references
* describing various system services providing translations of data
* from the source types to the destination types.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inSourceTypes:
* An array of Uniform Type Identifiers specifying the formats of
* source data to be translated.
*
* inTranslationFlags:
* A set of TranslationFlags indicating what type of translations
* are requested.
*
* outDestinationTypes:
* A CFArrayRef reference which receives an array of Uniform Type
* Identifiers specifying what destination formats are available
* as translations of the provided source formats. Any destination
* formats already represented as a format in the source array are
* excluded from the returned list. The search for destination
* formats is performed in the order of source formats. This array
* must be released by the client.
*
* outTranslations:
* A CFDictionaryRef reference which receives a dictionary of
* TranslationRefs representing all translations provided by
* system services. The dictionary is keyed by destination flavor.
* Any translations with destination formats already represented
* as a format in the source array are excluded from the returned
* dictionary. This dictionary must be released by the client.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
TranslationCreateWithSourceArray(
CFArrayRef inSourceTypes,
TranslationFlags inTranslationFlags,
CFArrayRef * outDestinationTypes,
CFDictionaryRef * outTranslations) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* TranslationPerformForData()
*
* Summary:
* Executes the translation of source data into destination data.
* The formats of the source and destination data are contained
* within the TranslationRef.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inTranslation:
* A TranslationRef containing information on the source and
* destination data formats and how to execute a translation from
* one to the other. The formats of the source and destination
* data must correspond to those indicated by the TranslationRef.
*
* inSourceData:
* A CFDataRef containing data to be translated.
*
* outDestinationData:
* A CFDataRef reference which receives the translated data.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
TranslationPerformForData(
TranslationRef inTranslation,
CFDataRef inSourceData,
CFDataRef * outDestinationData) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* TranslationPerformForFile()
*
* Summary:
* Executes the translation of source file contents to a destination
* file content format. The formats of the source and destination
* file contents are held within the TranslationRef.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inTranslation:
* A TranslationRef containing information on the source and
* destination file content formats and how to execute a
* translation from one to the other. The formats of the source
* and destination file contents must correspond to those
* indicated by the TranslationRef.
*
* inSourceFile:
* A FSRef reference pointing to a file whose contents are to be
* translated.
*
* inDestinationDirectory:
* An optional FSRef reference pointing to the desired directory
* for the translation. By default the destination directory is
* the same as the source file.
*
* inDestinationName:
* An optional CFStringRef indicating the desired name for the
* translated file. By default the translated file's name will be
* "<filename> (converted)" (ala. Finder's "<filename> copy"
* behavior for duplicated files).
*
* outTranslatedFile:
* A FSRef reference which receives a new file with the translated
* contents. It is possible for the translated file to not have
* been created in the directory or with the name requested by the
* client due to disk space or translator limitations. It is
* important to rely only on the file reference returned in this
* parameter.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
TranslationPerformForFile(
TranslationRef inTranslation,
const FSRef * inSourceFile,
const FSRef * inDestinationDirectory, /* can be NULL */
CFStringRef inDestinationName, /* can be NULL */
FSRef * outTranslatedFile) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* TranslationPerformForURL()
*
* Summary:
* Executes the translation of source data pointed to a URL to a
* destination format. The formats of the source and destination URL
* contents are held within the TranslationRef. Currently, only file
* URLs are accepted for URL translations.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inTranslation:
* A TranslationRef containing information on the source and
* destination URL content formats and how to execute a
* translation from one to the other. The formats of the source
* and destination URL contents must correspond to those indicated
* by the TranslationRef.
*
* inSourceURL:
* A CFURLRef pointing to source data whose contents are to be
* translated. Currently, only file URLs are accepted for URL
* translations.
*
* inDestinationURL:
* An optional CFURLRef indicating the desired location for the
* translated data. File URLs may either indicate the desired
* destination directory or directory and name for the translated
* file. By default for file URLs, the translated file's name will
* be "<filename> (converted)" (ala. Finder's "<filename> copy"
* behavior for duplicated files).
*
* outTranslatedURL:
* A FSRef reference which receives a new file with the translated
* contents. For file URLs, it is possible for the translated file
* to not have been created in the directory or with the name
* requested by the client due to disk space or translator
* limitations. It is important to rely only on the URL returned
* in this parameter.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
TranslationPerformForURL(
TranslationRef inTranslation,
CFURLRef inSourceURL,
CFURLRef inDestinationURL, /* can be NULL */
CFURLRef * outTranslatedURL) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* TranslationCopySourceType()
*
* Summary:
* Accesses a translation's source type.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inTranslation:
* A TranslationRef containing the requested source type.
*
* outSourceType:
* A CFStringRef which receives the TranslationRef's source type.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
TranslationCopySourceType(
TranslationRef inTranslation,
CFStringRef * outSourceType) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* TranslationCopyDestinationType()
*
* Summary:
* Accesses a translation's destination type.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inTranslation:
* A TranslationRef containing the requested destination type.
*
* outDestinationType:
* A CFStringRef which receives the TranslationRef's destination
* type.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
TranslationCopyDestinationType(
TranslationRef inTranslation,
CFStringRef * outDestinationType) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
/*
* TranslationGetTranslationFlags()
*
* Summary:
* Accesses a translation's flags.
*
* Mac OS X threading:
* Not thread safe
*
* Parameters:
*
* inTranslation:
* A TranslationRef containing the requested flags.
*
* outTranslationFlags:
* A TranslationFlags which receives the TranslationRef's flags.
*
* Result:
* An operating system result code.
*
* Availability:
* Mac OS X: in version 10.3 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
* Non-Carbon CFM: not available
*/
extern OSStatus
TranslationGetTranslationFlags(
TranslationRef inTranslation,
TranslationFlags * outTranslationFlags) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
#ifdef __cplusplus
}
#endif
#endif /* __TRANSLATIONSERVICES__ */

View File

@@ -0,0 +1,181 @@
/*
File: HIServices/UniversalAccess.h
Contains: Universal Access Interfaces.
Copyright: <20> 2005-2012 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 __UNIVERSALACCESS__
#define __UNIVERSALACCESS__
#ifndef __COREGRAPHICS__
#include <CoreGraphics/CoreGraphics.h>
#endif
#include <AvailabilityMacros.h>
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*
* Universal Access
*
* Discussion:
* Universal Access provides apps the ability to control the zoom
* focus. The following functions are provided so that applications
* can tell Universal Access what part of the UI needs focus.
*/
/*!
@header UniversalAccess.h
@discussion This header file contains functions that give applications the ability to control the zoom focus. Using these functions,
an application can tell the Mac OS X Universal Access zoom feature what part of its user interface needs focus.
@indexgroup Universal Access
*/
/*
* UAZoomChangeFocusType
*
* Summary:
* Universal Access Zoom Change Focus Types
*
* Discussion:
* The following constants are used to tell Universal Access Zoom
* the type of event that is driving the change in the zoom focus.
*/
/*!
@typedef UAZoomChangeFocusType
@abstract Defines the Universal Access zoom change focus type.
*/
typedef UInt32 UAZoomChangeFocusType;
/*!
@enum UAZoomFocusTypes
@abstract Values that tell the Universal Access zoom feature what type of event is causing the change in zoom focus.
*/
enum {
/*!
* An event is requesting focus.
*/
kUAZoomFocusTypeOther = 0,
/*!
* The text insertion point has moved.
*/
kUAZoomFocusTypeInsertionPoint = 1
};
/*
* UAZoomEnabled()
*
* Summary:
* Determine if Universal Access Zoom is enabled.
*
* Discussion:
* This queries the state of Universal Access Zoom
*
* Mac OS X threading:
* Thread safe
*
* Result:
* TRUE if Universal Access Zoom is on, FALSE if Zoom is off or the
* user has zoomed all the way out.
*
* Availability:
* Mac OS X: in version 10.4 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
* Non-Carbon CFM: not available
*/
/*!
@function UAZoomEnabled
@abstract Determines if the Universal Access zoom feature is enabled.
@result Returns <code>true</code> if the Universal Access zoom feature is on, <code>false</code> if the zoom feature is off or if the user
has zoomed all the way out.
@availability Available in Mac OS X v10.4 and later (not available in CarbonLib 1.x and not available for nonCarbon CFM).
*/
extern Boolean
UAZoomEnabled(void) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
/*
* UAZoomChangeFocus()
*
* Summary:
* Tell Universal Access where Zoom should focus.
*
* Discussion:
* Tells Universal Access the frame of the element in focus and the
* part of the element that should be in focus.
*
* Mac OS X threading:
* Thread safe
*
* Parameters:
*
* inRect:
* - The frame of the element in focus in global 72dpi coordinates.
*
* inHighlightRect:
* - The frame of highlighted part of the element in focus in
* global 72dpi coordinates. If the whole element is in focus,
* and not just a smaller part of it, pass the inRect parameter
* and pass NULL for inHighlightRect.
*
* inType:
* - Universal Access Zoom change focus type.
*
* Result:
* OSStatus - noErr if there were no problems or Universal Access
* Zoom is off or zoomed all the way out. paramErr if inRect is
* NULL or inType is out of range.
*
* Availability:
* Mac OS X: in version 10.4 and later in ApplicationServices.framework
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
* Non-Carbon CFM: not available
*/
/*!
@function UAZoomChangeFocus
@abstract Tells the Universal Access zoom feature where it should focus.
@discussion This function tells Universal Access the frame of the element in focus and the
part of the element that should be in focus.
@param inRect The frame of the element in focus, in global 72-dot-per-inch (dpi) coordinates.
@param inHighlightRect The frame of the highlighted part of the element in focus, in global 72 dpi coordinates. If the whole element is in focus,
and not just a smaller part of it, pass the <code>inRect</code> parameter and pass <code>NULL</code> for <code>inHighlightRect</code>.
@param inType A value of type @link UAZoomChangeFocusType UAZoomChangeFocusType@/link.
@result Returns <code>noErr</code> if there were no problems, if Universal Access Zoom is zoomed all the way out, or if the feature is off;
returns <code>paramErr</code> if <code>inRect</code> is <code>NULL</code> or if <code>inType</code> is out of range.
@availability Available in Mac OS X v10.4 and later (not available in CarbonLib 1.x and not available for nonCarbon CFM).
*/
extern OSStatus
UAZoomChangeFocus(
const CGRect * inRect,
const CGRect * inHighlightRect,
UAZoomChangeFocusType inType) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
#ifdef __cplusplus
}
#endif
#endif /* __UNIVERSALACCESS__ */

View File

@@ -0,0 +1,391 @@
/*
File: PDEPluginInterface.h
Contains: Mac OS X Printing Manager Print Dialog Extensions Interfaces.
Version: Technology: Mac OS X
Release: 1.0
Copyright (c) 2004-2008 Apple Inc. All Rights Reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __PDEPLUGININTERFACE__
#define __PDEPLUGININTERFACE__
#import <cups/cups.h>
#import <cups/ppd.h>
#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>
NS_ASSUME_NONNULL_BEGIN
@class NSView;
/*!
* @name PDEPlugIn
* @abstract An instance implementing methods in the PDEPlugIn informal protocol protocol
* acts as a factory for PDEPanels. The factory is provided with the type
* of printer panel needed (page setup or print dialog) as well as
* the current printer. It can use this information to determine which
* PDEPanels should be created.
*
*/
@interface NSObject(PDEPlugIn)
/*!
* @method initWithBundle:
* @abstract Called once when the PDE plug-in is loaded. When using a sandbox
* application, if the PDE plug-in does not declare itself sandbox-compatible,
* the PDE is loaded to get its name and is then unloaded. The PDE is reloaded when
* it is selected in the PDE menu or when the user selects the print button.
*
* @param theBundle The plug-in's bundle.
*
* @result Returns YES if initialization succeeded and NO otherwise.
*/
- (BOOL)initWithBundle:(NSBundle*)theBundle;
/*!
* @method PDEPanelsForType:withHostInfo:
* @abstract Returns an array of instances conforming to the PDEPanel informal protocol.
*
* @param pdeType The type of print panels that should be returned. These kinds are
* defined in PMPrintingDialogExtensions.h and include:
* kGeneralPageSetupDialogTypeIDStr
* - Panels that should be shown in the page setup dialog.
* kGeneralPrintDialogTypeIDStr
* - Panels that should be shown in the print dialog.
*
* @param host A print system provided instance that implements methods from the informal protocol
* PDEPlugInCallbackProtocol. The PDEPlugIn can use this parameter to
* obtain the current printer or print setting in order to filter the
* available panels if there are printer specific PDEPanels in the PDEPlugIn.
*
* @result An array of instances implementing methods from the PDEPanel informal protocol.
* Each instance represents a panel that will be shown in the printer dialog.
* The method may return either nil or an empty array if no panels should be used.
*/
- (nullable NSArray*)PDEPanelsForType:(NSString*)pdeType withHostInfo:(id)host;
@end
/*!
* @name PDEPanel
* @abstract A print dialog plugin should have an instance implementing methods
* from the PDEPanel informal protocol. Each such instance handles a single
* print dialog panel.
*
*/
@interface NSObject(PDEPanel)
/*!
* @method willShow
* @abstract The panel should complete any final preperations it needs
* before the panel is shown.
*
* @discussion The panel may want to use this method to lazily prepare
* its user interface.
*
*/
- (void)willShow;
/*!
* @method shouldHide
* @abstract Prepare the panel to be removed from the user's sight.
*
* @discussion This method is invoked by the print system just before the panel is
* removed fromthe user's sight. The panel can use this opportunity
* for any final interaction with the user, perhaps to check the user's
* input. A panel that needs more interaction with the user, perhaps
* because some of the input values were invalid, should return NO.
* Returning YES indicates that the panel can be hidden, probably to
* show another panel or to dismiss the printing dialog.
*
* @result Return YES if it is okay to hide panel and NO otherwise.
*/
- (BOOL)shouldHide;
/*!
* @method saveValuesAndReturnError:
* @abstract Take the values from the panel's user interface and write them to
* the appropriate settings.
*
* @discussion This is the panel's chance to write the values from its user interface
* controls to the permanent store. Depending upon the panel type the values may
* be stored in the print settings or into the page format. Panels of type
* kGeneralPageSetupDialogTypeIDStr will generally store values into the page
* format while panels of type kGeneralPrintDialogTypeIDStr will write to
* the print settings. The panel should use the provided PDEPlugInCallbackProtocol
* to obtain the settings and tickets it needs to write into.
*
* A panel will usually be asked to write its values when the user dismisses
* the dialog, other than via cancel, or when the user has asked that a preset
* be saved.
*/
- (BOOL)saveValuesAndReturnError:(NSError**)error;
/*!
* @method restoreValuesAndReturnError
* @abstract Set the panel's user interface elements based upon the appropriate settings.
*
* @discussion The panel should refresh its user interface elements by reading values from
* the page format or print settings. The panel should use the provided
* PDEPlugInCallbackProtocol to obtain the settings and tickets it needs to read.
*
* A panel will usually be asked to read its setting just before it is first
* shown and when the user selects a new preset.
*/
- (BOOL)restoreValuesAndReturnError:(NSError**)error;
/*!
* @method supportedPPDOptionKeys
* @abstract The panel takes responsability for displaying user interface elements for the
* PPD option keys returned from this call.
*
* @discussion Any PPD option keys not claimed by a PDEPanel are provided with a dynamically built
* user interface in the Printer Features panel.
*/
- (nullable NSArray*)supportedPPDOptionKeys;
/*!
* @method PPDOptionKeyValueDidChange
* @abstract Inform the panel that, external to the panel, the specified PPD
* choice has been made.
*
* @discussion During PPD conflict resolution the choice for a panel controlled PPD option
* may need to be changed by another panel. This call informs the panel
* that a setting has been changed. The panel should update any internal data it maintains
* in regards to this PPD option key.
*
* The 'option' and 'choice' values are taken from the printer's PPD. For
* example the PPD fragment:
*
* *OpenUI *TraySwitch/Tray Switch: Boolean
* *TraySwitch True/On: "1 dict dup /TraySwitch true put setpagedevice"
* *TraySwitch False/Off: "1 dict dup /TraySwitch false put setpagedevice"
* *CloseUI: *TraySwitch
*
* describes the option 'TraySwitch'. It has 2 choices: 'True' and 'False'.
* If another panel caused the choice of the option key 'TraySwitch' to be
* altered to 'True'then this method will be called with the 'option' parameter
* set to @"TraySwitch" and the 'choice parameter set to @"True".
*/
- (void)PPDOptionKeyValueDidChange:(NSString *)option ppdChoice:(NSString *)choice;
/*!
* @method panelView
* @abstract Return the panel's view.
*
* @discussion The panel's controls are rendered into a single view. The print system
* invokes this method to obtain the panel's view so that it can be embedded
* into the print dialog.
*
* This method has "Get" semantics: any references owned by the
* PDE must be released by the PDE.
*/
- (NSView * _Nullable)panelView;
/*!
* @method panelName
* @abstract Return the panel's name.
*
* @discussion This is the localized name of the panel. It will be placed into
* the panel menu.
*/
- (NSString*)panelName;
/*!
* @method panelKind
* @abstract Return the panel's kind.
*
* @discussion A panel's kind is used to allow a plugin to override a system panel.
* PMPrintingDialogExtensions.h lists the kinds for the print system provided
* panels. If a PDF panel is not supposed to override a print system provided
* panel then it should return a unique string for its kind.
*/
- (NSString*)panelKind;
/*!
* @method summaryInfo
* @abstract Return localized, textual descriptions of the panel's settings.
*
* @discussion Each key in the dictionary must be an NSString providing the name
* of the setting. The value for the key must be an NSString describing
* the value for the setting. The strings should be localized for the
* current user. For example a key in the dictionary for the copies and
* pages panel might have the key 'Page Range' and the value 'All'.
*/
- (NSDictionary * _Nullable)summaryInfo;
/*!
* @method shouldShowHelp
* @abstract The panel should show panel specific help if it is available.
*
* @result Return YES if the default printing help should be shown and NO otherwise.
*
* @discussion When a given panel is visible and the user clicks on the help
* icon in a print dialog or sheet, the current panel's shouldShowHelp
* method is invoked. If the panel implements custom help, the
* panel should then present that help and return NO. If this method is not
* implemented by a panel or the panel's shouldShowHelp method returns YES,
* the default printing help will be presented.
*
* Invoked only in Mac OS X version 10.5 and later.
*/
-(BOOL)shouldShowHelp;
/*!
* @method shouldPrint
* @abstract The panel should indicate whether the user should be allowed to print.
*
* @result Return YES unless the printing state for the panel does not allow printing.
*
* @discussion When a user has performed an action in a print dialog or sheet
* that will initiate printing, prior to dismissing the dialog, a panel's
* shouldPrint method is invoked, allowing a panel to indicate that the
* current state of the dialog should not allow printing. Prior to returning
* NO, a panel should present information to the user as to why printing is not
* allowed.
*
* Most panels have no need to implement a 'shouldPrint' method. Typically
* a panel manages its state so that it is always valid for the user to
* click the print button or otherwise initiate a printing action.
*
* Invoked only in Mac OS X version 10.5 and later.
*/
-(BOOL)shouldPrint;
/*!
* @method printWindowWillClose
* @abstract The print dialog or sheet is closing and a panel should perform
* any special tasks that are needed before the window is closed.
*
* @discussion This is the print panel's chance to peform any special tasks before
* the print dialog or sheet goes away. The 'userCanceled' parameter
* is true if the print window is being being dismissed because the user
* canceled the dialog or sheet.
*
* One reason for implementing a printWindowWillClose is so that a panel
* can remove any notification observers it has added.
*
* Invoked only in Mac OS X version 10.6 and later.
*/
- (void) printWindowWillClose:(BOOL)userCanceled;
@end
/*!
* @name PDEPlugInCallbackProtocol
* @abstract An informal protocol implemented by the print system so
* that printing dialog extensions can obtain information
* about the current printer and print job.
*
* @discussion An print system created instance implementing the informal protocol,
* PDEPlugInCallbackProtocol, is passed to PDEPlugin as part of the PDEPlugIn's
* PDEPanelsForType:withHostInfo: message. The PDEPlugIn is expected to
* hold on to the passed in instance and to use this PDEPlugInCallbackProtocol
* to query the print system for relevant information. The PDEPlugin can
* pass the instance implementing PDEPlugInCallbackProtocol to PDEPanels
* as needed.
*/
@interface NSObject(PDEPlugInCallbackProtocol)
/*!
* @method printSession
* @abstract Return a reference to the current print session.
*/
- (nullable PMPrintSession) printSession;
/*!
* @method printSettings
* @abstract Return a reference to the print settings object that is
* being modified by the printer dialog.
*
* @discussion This method will return nil if the current print dialog is
* not operating on a print settings. The page setup dialog is
* the most obvious case where this method will return nil.
*/
- (nullable PMPrintSettings) printSettings;
/*!
* @method pageFormat
* @abstract Return a reference to the page format that is being used
* by the printer dialog.
*
* @discussion The caller should be prepared for this method to return nil
* if the current print dialog is operating without a page format
* instance. Today both the print and page setup dialogs will return
* a reference to a page format object.
*/
- (nullable PMPageFormat) pageFormat;
/*!
* @method PMPrinter
* @abstract Return a reference to the current printer instance.
*
* @discussion When the page setup dialog is displayed this method will return
* the user's default printer. When the print dialog is displayed this
* method will return the printer currently selected in the print dialog.
*/
- (PMPrinter) PMPrinter;
/*!
* @method ppdFile
* @abstract Return a pointer to the CUPS ppd information for the current printer.
*
* @discussion Once the caller has the pointer to the CUPS PPD structure the CUPS
* PPD functions can be used to query the PPD and to set PPD options.
* A description of some of the CUPS PPD functions is here:
* http://127.0.0.1:631/spm.html#3_3
*/
- (nullable ppd_file_t*) ppdFile;
/*!
* @method changePPDOptionKeyValue:ppdChoiceKey:
* @abstract A PDEPlugIn makes this call to let the print system know that
* the plugin intends to alter the choice for a PPD option.
*
* @discussion When a print dialog plugin intends to change the choice for a
* PPD option it notifies the print system with this call. If the
* desired choice is in conflict with other currently selected PPD options
* then the print system will try to do conflict resolution. This may
* include presenting the user with a dialog explaining the conflict
* and allowing the user to cancel the change.
*
* The 'option' parameter names a main key from the printer's PPD.
* As an example take the following PPD fragment:
*
* *OpenUI *MediaType/Paper Type: PickOne
* *MediaType Plain/Plain: ""
* *MediaType Transparency/Transparency: ""
* *CloseUI: *MediaType
*
* If a panel wishes to switch the value of the option key 'MediaType'
* to the choice 'Transparency' then it should invoke this callback
* passing @"MediaType" and @"Transparency" as the 'option' and
* 'choice' parameters. If that choice is allowed then YES will be
* returned otherwise NO.
* @result Returns YES if the plugin should make the change and returns NO if the
* user or the print system would like the change not to occur.
*/
- (BOOL)willChangePPDOptionKeyValue:(NSString *)option ppdChoice:(NSString *)choice;
@end
NS_ASSUME_NONNULL_END
#endif /* __PDEPLUGININTERFACE__ */

View File

@@ -0,0 +1,311 @@
/*
File: PrintCore/PMDefinitions.h
Contains: Carbon Printing Manager Interfaces.
Copyright (c) 1998-2006,2008 by Apple Inc. All Rights Reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __PMDEFINITIONS__
#define __PMDEFINITIONS__
#ifndef __CORESERVICES__
#include <CoreServices/CoreServices.h>
#endif
#include <AvailabilityMacros.h>
#if PRAGMA_ONCE
#pragma once
#endif
/* Printing objects */
typedef const void * PMObject;
typedef struct OpaquePMPrintSettings* PMPrintSettings;
typedef struct OpaquePMPageFormat* PMPageFormat;
typedef struct OpaquePMPrintSession* PMPrintSession;
typedef struct OpaquePMPrinter* PMPrinter;
typedef struct OpaquePMServer* PMServer;
typedef struct OpaquePMPreset* PMPreset;
typedef struct OpaquePMPaper* PMPaper;
enum {
kPMCancel = 0x0080 /* user hit cancel button in dialog */
};
#define kPMNoData NULL /* for general use */
#define kPMDontWantSize NULL /* for parameters which return size information */
#define kPMDontWantData NULL /* for parameters which return data */
#define kPMDontWantBoolean NULL /* for parameters which take a boolean reference */
#define kPMNoReference NULL /* for parameters which take an address pointer */
#define kPMDuplexDefault kPMDuplexNone /* Default duplex value */
/* for parameters which take a PrintSettings reference */
#define kPMNoPrintSettings ((PMPrintSettings)NULL)
/* for parameters which take a PageFormat reference */
#define kPMNoPageFormat ((PMPageFormat)NULL)
/* for parameters which take a Server reference */
#define kPMServerLocal ((PMServer)NULL)
typedef UInt16 PMDestinationType;
enum {
kPMDestinationInvalid = 0,
kPMDestinationPrinter = 1,
kPMDestinationFile = 2,
kPMDestinationFax = 3,
kPMDestinationPreview = 4,
kPMDestinationProcessPDF = 5
};
#define kPMDestinationTypeDefault kPMDestinationPrinter
typedef UInt16 PMOrientation;
enum {
kPMPortrait = 1,
kPMLandscape = 2,
kPMReversePortrait = 3, /* will revert to kPortrait for current drivers */
kPMReverseLandscape = 4 /* will revert to kLandscape for current drivers */
};
/* Printer states */
typedef UInt16 PMPrinterState;
enum {
kPMPrinterIdle = 3,
kPMPrinterProcessing = 4,
kPMPrinterStopped = 5
};
typedef UInt32 PMColorSpaceModel;
enum {
kPMUnknownColorSpaceModel = 0,
kPMGrayColorSpaceModel = 1,
kPMRGBColorSpaceModel = 2,
kPMCMYKColorSpaceModel = 3,
kPMDevNColorSpaceModel = 4
};
#define kPMColorSpaceModelCount 4 /* total number of color space models supported */
/* Print quality modes "standard options" */
typedef UInt32 PMQualityMode;
enum {
kPMQualityLowest = 0x0000, /* Absolute lowest print quality */
kPMQualityInkSaver = 0x0001, /* Saves ink but may be slower */
kPMQualityDraft = 0x0004, /* Print at highest speed, ink used is secondary consideration */
kPMQualityNormal = 0x0008, /* Print in printers "general usage" mode for good balance between quality and speed */
kPMQualityPhoto = 0x000B, /* Optimize quality of photos on the page. Speed is not a concern */
kPMQualityBest = 0x000D, /* Get best quality output for all objects and photos. */
kPMQualityHighest = 0x000F /* Absolute highest quality attained from a printers */
};
/* Constants for our "standard" paper types */
typedef UInt32 PMPaperType;
enum {
kPMPaperTypeUnknown = 0x0000, /* Not sure yet what paper type we have. */
kPMPaperTypePlain = 0x0001, /* Plain paper */
kPMPaperTypeCoated = 0x0002, /* Has a special coating for sharper images and text */
kPMPaperTypePremium = 0x0003, /* Special premium coated paper */
kPMPaperTypeGlossy = 0x0004, /* High gloss special coating */
kPMPaperTypeTransparency = 0x0005, /* Used for overheads */
kPMPaperTypeTShirt = 0x0006 /* Used to iron on t-shirts */
};
/* Scaling alignment: */
typedef UInt16 PMScalingAlignment;
enum {
kPMScalingPinTopLeft = 1,
kPMScalingPinTopRight = 2,
kPMScalingPinBottomLeft = 3,
kPMScalingPinBottomRight = 4,
kPMScalingCenterOnPaper = 5,
kPMScalingCenterOnImgArea = 6
};
/* Duplex Mode: */
typedef UInt32 PMDuplexMode;
enum {
kPMDuplexNone = 0x0001, /* Print only on one side of sheet of paper */
kPMDuplexNoTumble = 0x0002, /* Print on both sides of the paper, with no tumbling. */
kPMDuplexTumble = 0x0003, /* Print on both sides of the paper, tumbling on. */
kPMSimplexTumble = 0x0004 /* Print on only one side of the paper, but tumble the images while printing. */
};
/* Layout directions: */
typedef UInt16 PMLayoutDirection;
enum {
/* Horizontal-major directions: */
kPMLayoutLeftRightTopBottom = 1, /* English reading direction. */
kPMLayoutLeftRightBottomTop = 2,
kPMLayoutRightLeftTopBottom = 3,
kPMLayoutRightLeftBottomTop = 4, /* Vertical-major directions: */
kPMLayoutTopBottomLeftRight = 5,
kPMLayoutTopBottomRightLeft = 6,
kPMLayoutBottomTopLeftRight = 7,
kPMLayoutBottomTopRightLeft = 8
};
/* Page borders: */
typedef UInt16 PMBorderType;
enum {
kPMBorderSingleHairline = 1,
kPMBorderDoubleHairline = 2,
kPMBorderSingleThickline = 3,
kPMBorderDoubleThickline = 4
};
/*
Options for which items to show inline in the print dialog
This is only meant to be used in Carbon environment
*/
typedef OptionBits PMPrintDialogOptionFlags;
enum {
kPMHideInlineItems = (0L << 0), /* show nothing in the inline portion of print dialog */
kPMShowDefaultInlineItems = (1L << 15), /* show the default set of items (copies & pages) in the inline portion of print dialog */
kPMShowInlineCopies = (1L << 0), /* show Copies edit text, Collate check box and Two Sided check box (if printer supports it) in top portion of print dialog */
kPMShowInlinePageRange = (1L << 1), /* show Paper Range buttons and From & To Page edit text items in top portion of print dialog */
kPMShowInlinePageRangeWithSelection = (1L << 6), /* show Paper Range buttons with the addition of a Selection button and the From & To Page edit text items in top portion of print dialog */
kPMShowInlinePaperSize = (1L << 2), /* show Paper Size popup menu in top portion of print dialog */
kPMShowInlineOrientation = (1L << 3), /* show Orientation buttons in top portion of print dialog */
kPMShowInlineScale = (1L << 7), /* show Scaling edit text in top portion of print dialog */
kPMShowPageAttributesPDE = (1L << 8), /* add a PDE to the print dialog that contains the Page Setup information (paper size, orientation and scale) */
};
typedef UInt16 PMPPDDomain;
enum {
kAllPPDDomains = 1,
kSystemPPDDomain = 2,
kLocalPPDDomain = 3,
kNetworkPPDDomain = 4,
kUserPPDDomain = 5,
kCUPSPPDDomain = 6
};
/* Description types */
#define kPMPPDDescriptionType CFSTR("PMPPDDescriptionType")
/* Document format strings */
#define kPMDocumentFormatDefault CFSTR("com.apple.documentformat.default")
#define kPMDocumentFormatPDF CFSTR("application/pdf")
#define kPMDocumentFormatPostScript CFSTR("application/postscript")
/* Graphic context strings */
#define kPMGraphicsContextDefault CFSTR("com.apple.graphicscontext.default")
#define kPMGraphicsContextCoreGraphics CFSTR("com.apple.graphicscontext.coregraphics")
/* PDF Workflow Keys */
#define kPDFWorkflowItemURLKey CFSTR("itemURL")
#define kPDFWorkflowDisplayNameKey CFSTR("displayName")
#define kPDFWorkflowItemsKey CFSTR("items")
#define kPDFWorkflowModifiedKey CFSTR("wasModifiedInline")
/* Print Selection Title string */
#define kPMPrintSelectionTitleKey CFSTR("com.apple.printSelection.title")
/* OSStatus return codes */
enum {
kPMNoError = noErr,
kPMGeneralError = -30870,
kPMOutOfScope = -30871, /* an API call is out of scope */
kPMInvalidParameter = paramErr, /* a required parameter is missing or invalid */
kPMNoDefaultPrinter = -30872, /* no default printer selected */
kPMNotImplemented = -30873, /* this API call is not supported */
kPMNoSuchEntry = -30874, /* no such entry */
kPMInvalidPrintSettings = -30875, /* the printsettings reference is invalid */
kPMInvalidPageFormat = -30876, /* the pageformat reference is invalid */
kPMValueOutOfRange = -30877, /* a value passed in is out of range */
};
enum {
kPMInvalidPrintSession = -30879, /* the print session is invalid */
kPMInvalidPrinter = -30880, /* the printer reference is invalid */
kPMObjectInUse = -30881, /* the object is in use */
kPMInvalidPreset = -30899/* the preset is invalid */
};
enum {
kPMPrintAllPages = -1
};
enum {
kPMUnlocked = false
};
struct PMRect {
double top;
double left;
double bottom;
double right;
};
typedef struct PMRect PMRect;
struct PMResolution {
double hRes;
double vRes;
};
typedef struct PMResolution PMResolution;
struct PMLanguageInfo {
Str32 level;
Str32 version;
Str32 release;
};
typedef struct PMLanguageInfo PMLanguageInfo;
typedef PMRect PMPaperMargins;
/*
PMDataFormat is used with PMPrintSettingsCreateWithDataRepresentation and
PMPageFormatCreateDataRepresentation to specify the format of the data representation created.
kPMDataFormatXMLDefault specifies a data format that is compatible with all Mac OS X versions. Data in
this format can be used with the PMUnflattenXXX routines present in all versions of Mac OS X prior to 10.5.
However, this data representation is much larger than the more modern data representations described below.
kPMDataFormatXMLMinimal is only compatible and usable with Mac OS X version 10.5 and later.
Data in this format can be only be reconsistuted into the equivalent printing manager object with
the appropriate PMXXXCreateWithDataRepresentation function. The data representation produced when
using kPMDataFormatXMLMinimal is approximately 3-5 times smaller than kPMDataFormatXMLDefault. This
format is a good choice when execution on versions of Mac OS X prior to 10.5 is not necessary and
an uncompressed XML representation of the data is needed.
kPMDataFormatXMLCompressed is only compatible and usable with Mac OS X version 10.5 and later.
Data in this format can be only be reconsistuted into the equivalent printing manager object with the
appropriate PMXXXCreateWithDataRepresentation function. The data representation produced when
using kPMDataFormatXMLCompressed is approximately 20 times smaller than kPMDataFormatXMLDefault.
This format is a good choice when execution on versions of Mac OS X prior to 10.5 is not necessary and
the minimum data size is important.
*/
enum PMDataFormat {
kPMDataFormatXMLDefault = 0,
kPMDataFormatXMLMinimal = 1,
kPMDataFormatXMLCompressed = 2
};
typedef enum PMDataFormat PMDataFormat;
/* PMPreset related */
/*
kPMPresetGraphicsTypeKey is a PMPreset attribute that specifies the graphics type of a given preset
*/
#define kPMPresetGraphicsTypeKey CFSTR("com.apple.print.preset.graphicsType")
/*
kPMPresetGraphicsTypePhoto is the graphics type of presets appropriate for printing photos.
*/
#define kPMPresetGraphicsTypePhoto CFSTR("Photo")
/*
kPMPresetGraphicsTypeAll includes all graphics types.
*/
#define kPMPresetGraphicsTypeAll CFSTR("All")
/*
kPMPresetGraphicsTypeGeneral is a graphics type that is not specific to any type of document printing.
*/
#define kPMPresetGraphicsTypeGeneral CFSTR("General")
/*
kPMPresetGraphicsTypeNone excludes all graphics types.
*/
#define kPMPresetGraphicsTypeNone CFSTR("None")
#endif /* __PMDEFINITIONS__ */

View File

@@ -0,0 +1,178 @@
/*
File: PMErrors.h
Contains: Mac OS X Printing Manager Error Codes.
Copyright (c) 2001-2006,2008 Apple Inc. All Rights Reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __PMERRORS__
#define __PMERRORS__
#ifndef __COREFOUNDATION__
#include <CoreFoundation/CoreFoundation.h>
#endif
#ifndef __CORESERVICES__
#include <CoreServices/CoreServices.h>
#endif
#include <PrintCore/PMDefinitions.h>
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
enum {
#if 0
// General error codes originally in PMDefinitions (-30870 to -30899)
kPMNoError = noErr, /* no error */
kPMGeneralError = -30870, /* general error */
kPMOutOfScope = -30871, /* an API call is out of scope */
kPMInvalidParameter = paramErr, /* a required parameter is missing or invalid */
kPMNoDefaultPrinter = -30872, /* no default printer selected */
kPMNotImplemented = -30873, /* this API call is not supported */
kPMNoSuchEntry = -30874, /* no such entry */
kPMInvalidPrintSettings = -30875, /* the printsettings reference is invalid */
kPMInvalidPageFormat = -30876, /* the pageformat reference is invalid */
kPMValueOutOfRange = -30877, /* a value passed in is out of range */
kPMInvalidPrintSession = -30879, /* the print session is invalid */
kPMInvalidPrinter = -30880, /* the printer reference is invalid */
kPMObjectInUse = -30881, /* the object is in use */
kPMInvalidPreset = -30899 /* the preset is invalid */
#endif
// general purpose printing error codes used by various printing modules
kPMAllocationFailure = memFullErr, /* out of memory error */
kPMInternalError = kPMGeneralError, /* internal printing error */
kPMInvalidIndex = -30882, /* invalid index in array */
kPMStringConversionFailure = -30883, /* error converting a string */
kPMXMLParseError = -30884, /* error parsing XML data */
kPMInvalidJobTemplate = -30885, /* invalid job template */
kPMInvalidPrinterInfo = -30886, /* invalid printer info ticket */
kPMInvalidConnection = -30887, /* invalid connection type */
kPMInvalidKey = -30888, /* invalid key in ticket or template or dictionary */
kPMInvalidValue = -30889, /* invalid value in ticket or template or dictionary */
kPMInvalidAllocator = -30890, /* invalid memory allocator */
kPMInvalidTicket = -30891, /* invalid job ticket */
kPMInvalidItem = -30892, /* invalid item in ticket or template or dictionary */
kPMInvalidType = -30893, /* invalid type in ticket or template or dictionary */
kPMInvalidReply = -30894, /* invalid reply from a remote server/client */
kPMInvalidFileType = -30895, /* invalid file type in queue */
kPMInvalidObject = -30896, /* invalid object or internal error */
kPMInvalidPaper = -30897, /* Invalid PMPaper. */
kPMInvalidCalibrationTarget = -30898, /* invalid dictionary specifying printer calibration target */
/* Print Job Creator and Printing Dialog Extension error codes (-9500 to -9540) */
kPMNoDefaultItem = -9500,
kPMNoDefaultSettings = -9501, /* unused; to be removed */
kPMInvalidPDEContext = -9530, /* invalid printing dialog extension context */
kPMDontSwitchPDEError = -9531, /* tells the pjc not to switch panels */
kPMUnableToFindProcess = -9532, /* unable to find the Finder.app process */
kPMFeatureNotInstalled = -9533, /* printer is feature capable, but not installed */
/* PrintCenter and Printer Browser error codes (-9540 to -9579) */
kPMInvalidPBMRef = -9540, /* invalid printer browser module reference.*/
kPMNoSelectedPrinters = -9541, /* no selected printers or error getting selection.*/
kPMInvalidLookupSpec = -9542, /* error retrieving lookup specification. */
kPMSyncRequestFailed = -9543, /* error handling sync request. */
kPMEditRequestFailed = -9544, /* error handling request to update Edit menu */
kPMPrBrowserNoUI = -9545, /* got UI function call with no UI present. */
/* Job Ticket error codes (-9580 to -9619) */
kPMTicketTypeNotFound = -9580, /* we can't find the ticket type in our ticket. */
kPMUpdateTicketFailed = -9581, /* attempt to update ticket to current API failed. */
kPMValidateTicketFailed = -9582, /* ticket has at least one key that's invalid. */
kPMSubTicketNotFound = -9583, /* sub ticket requested is not stored in this ticket. */
kPMInvalidSubTicket = -9584, /* unable to add the requested sub-ticket. */
kPMDeleteSubTicketFailed = -9585, /* sub ticket could not be deleted. */
kPMItemIsLocked = -9586, /* item's locked flag was true when attempt made to update. */
kPMTicketIsLocked = -9587, /* caller may not change a locked ticket. */
kPMTemplateIsLocked = -9588, /* caller can't change the template. */
kPMKeyNotFound = -9589, /* the requested update is for a key that doesn't exist. */
kPMKeyNotUnique = -9590, /* the key passed in already exists in the ticket, can't make a new one. */
kPMUnknownDataType = -9591, /* couldn't determine proper CF type for the value passed in. */
/* ClientPrintingLib (-9620 to -9629) */
kPMCreateMessageFailed = -9620, /* could not create message */
kPMServerCommunicationFailed = -9621, /* communication with print server failed */
kPMKeyOrValueNotFound = -9623, /* missing required key or value */
kPMMessagingError = -9624, /* could not connect to message port or send a message to remote client */
/* Queue Manager (-9630 to -9659) */
kPMServerNotFound = -9630, /* print server not found */
kPMServerAlreadyRunning = -9631, /* print server is already running */
kPMServerSuspended = -9632, /* server suspended */
kPMServerAttributeRestricted = -9633, /* access to attribute restricted */
kPMFileOrDirOperationFailed = -9634, /* file/directory operation failed */
kPMUserOrGroupNotFound = -9635, /* specified user/group not found */
kPMPermissionError = -9636, /* permission related error */
kPMUnknownMessage = -9637, /* unknown message */
kPMQueueNotFound = -9638, /* queue not found */
kPMQueueAlreadyExists = -9639, /* queue already exists */
kPMQueueJobFailed = -9640, /* could not queue a new job */
kPMJobNotFound = -9641, /* job not found */
kPMJobBusy = -9642, /* job is busy */
kPMJobCanceled = -9643, /* job has aborted */
kPMDocumentNotFound = -9644, /* document not found */
/* Job Manager (-9660 to -9699) */
kPMPMSymbolNotFound = -9660, /* a required printer module symbol is missing */
kPMIOMSymbolNotFound = -9661, /* a required IO module symbol is missing */
kPMCVMSymbolNotFound = -9662, /* a required converter module symbol is missing */
kPMInvalidPMContext = -9663, /* PrinterModule context is invalid */
kPMInvalidIOMContext = -9664, /* IO Module context is invalid */
kPMInvalidCVMContext = -9665, /* Converter Module context is invalid */
kPMInvalidJobID = -9666, /* JobID passed from Printer Module is not valid */
kPMNoPrinterJobID = -9667, /* no JobID from target printer/connection */
kPMJobStreamOpenFailed = -9668, /* failed to open job stream */
kPMJobStreamReadFailed = -9669, /* failed to read from job stream */
kPMJobStreamEndError = -9670, /* reached end of job stream */
kPMJobManagerAborted = -9671, /* Job Manager is aborting */
kPMJobGetTicketBadFormatError = -9672, /* The XML for the printer module tickets could not be parsed. */
kPMJobGetTicketReadError = -9673, /* There was an unknown error reading stdout from the PrintJobMgr */
/* Converters (-9700 to -9739) */
kPMPluginNotFound = -9701, /* Converter plugin not found */
kPMPluginRegisterationFailed = -9702, /* Converter Plugin error */
kPMFontNotFound = -9703, /* Font not found */
kPMFontNameTooLong = -9704, /* font name too long */
kPMGeneralCGError = -9705, /* CoreGraphics returned error */
kPMInvalidState = -9706, /* Invalid converter state */
kPMUnexpectedImagingError = -9707, /* An unexpected imaging error occurred */
/* Printer Modules (-9740 to -9779) */
/* IO Modules (-9780 to -9799) */
kPMInvalidPrinterAddress = -9780, /* a file or connection could not be open */
kPMOpenFailed = -9781, /* a file or connection could not be open */
kPMReadFailed = -9782, /* file/connection read failed */
kPMWriteFailed = -9783, /* file/connection write failed */
kPMStatusFailed = -9784, /* connection status failed */
kPMCloseFailed = -9785, /* close file/connection failed */
kPMUnsupportedConnection = -9786, /* connection type not supported */
kPMIOAttrNotAvailable = -9787, /* IO attribute not available on current connection type */
kPMReadGotZeroData = -9788, /* Read got zero bytes, but no error. */
/* End of list */
kPMLastErrorCodeToMakeMaintenanceOfThisListEasier = -9799
};
#ifdef __cplusplus
}
#endif
#endif /* __PMERRORS__ */

View File

@@ -0,0 +1,111 @@
/*
File: PMPrintAETypes.h
Contains: Mac OS X Printing Manager AE definitions.
Version: Technology: Mac OS X
Release: 1.0
Copyright (c) 2003,2008 by Apple Inc. All Rights Reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __PMPrintAETypes__
#define __PMPrintAETypes__
#include <AvailabilityMacros.h>
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
#define kPMPrintSettingsAEType 'pset'
#define kPMShowPrintDialogAEType 'pdlg'
#define kPMPrinterAEType 'trpr'
#define kPMCopiesAEProp "copies"
#define kPMCopiesAEKey 'lwcp'
#define kPMCopieAEType typeSInt32
#define kPMCollateAEProp "collating"
#define kPMCollateAEKey 'lwcl'
#define kPMCollateAEType typeBoolean
#define kPMFirstPageAEProp "starting page"
#define kPMFirstPageAEKey 'lwfp'
#define kPMFirstPageAEType typeSInt32
#define kPMLastPageAEProp "ending page"
#define kPMLastPageAEKey 'lwlp'
#define kPMLastPageAEType typeSInt32
#define kPMLayoutAcrossAEProp "pages across"
#define kPMLayoutAcrossAEKey 'lwla'
#define kPMLayoutAcrossAEType typeSInt32
#define kPMLayoutDownAEProp "pages down"
#define kPMLayoutDownAEKey 'lwld'
#define kPMLayoutDownAEType typeSInt32
#define kPMErrorHandlingAEProp "error handling"
#define kPMErrorHandlingAEKey 'lweh'
#define kPMErrorHandlingAEType typeEnumerated
#define kPMPrintTimeAEProp "requested print time"
#define kPMPrintTimeAEKey 'lwqt'
#define kPMPrintTimeAEType cLongDateTime
#define kPMFeatureAEProp "printer features"
#define kPMFeatureAEKey 'lwpf'
#define kPMFeatureAEType typeAEList
#define kPMFaxNumberAEProp "fax number"
#define kPMFaxNumberAEKey 'faxn'
#define kPMFaxNumberAEType typeChar
#define kPMTargetPrinterAEProp "target printer"
#define kPMTargetPrinterAEKey 'trpr'
#define kPMTargetPrinterAEType typeChar
// Overrides all other settings
#define kPMPDFWorkFlowAEProp "PDF work flow"
#define kPMPDFWorkFlowAEKey 'wrkf'
#define kPMPDFWorkFlowAEType typeUTF8Text
// Overrides all other settings except kPMPDFWorkFlowAEProp
// Can optionally target a specific printer's preset by setting kPMTargetPrinterAEProp
// Search order is as follows: custom per printer presets, general printer presets, global presets
#define kPMPresetAEProp "preset"
#define kPMPresetAEKey 'prst'
#define kPMPresetAEType typeUTF8Text
// Pass in where to save the file Ex. "/tmp/foo.pdf"
#define kPMSaveAsPDFAEProp "save as PDF"
#define kPMSaveAsPDFAEKey 'spdf'
#define kPMSaveAsPDFAEType typeFileURL
// Pass in where to save the file Ex. "/tmp/foo.ps"
#define kPMSaveAsPSAEProp "save as PS"
#define kPMSaveAsPSAEKey 'sps '
#define kPMSaveAsPSAEType typeFileURL
/*** Enumerations ***/
/* For kPMErrorHandlingAEType */
#define kPMErrorHandlingStandardEnum 'lwst'
#define kPMErrorHandlingDetailedEnum 'lwdt'
#ifdef __cplusplus
}
#endif
#endif // __PRINTAETYPES__

View File

@@ -0,0 +1,226 @@
/*
File: PMPrintSettingsKeys.h
Contains: Mac OS X Printing Manager Print Settings Keys.
Version: Technology: Mac OS X
Release: 1.0
Copyright (c) 2008 by Apple Inc. All Rights Reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __PMPRINTSETTINGSKEYS__
#define __PMPRINTSETTINGSKEYS__
#ifdef __cplusplus
extern "C" {
#endif
#define kPMCopiesStr "com.apple.print.PrintSettings.PMCopies"
#define kPMCopiesKey CFSTR( kPMCopiesStr ) /* CFNumber, kCFNumberSInt32Type, number of copies to print. */
#define kPMCopyCollateStr "com.apple.print.PrintSettings.PMCopyCollate"
#define kPMCopyCollateKey CFSTR( kPMCopyCollateStr ) /* CFBoolean, Turns on collating */
#define kPMOutputOrderStr "OutputOrder"
#define kPMOutputOrderKey CFSTR(kPMOutputOrderStr) /* CFString, Reverse or Normal. default is Printer Specific */
#define kPMPageSetStr "page-set"
#define kPMPageSetKey CFSTR(kPMPageSetStr) /* CFString, even, odd, or all. default is all */
#define kPMMirrorStr "mirror"
#define kPMMirrorKey CFSTR(kPMMirrorStr) /* CFString, true or false. default is false */
#define kPMPrintSelectionOnlyStr "com.apple.print.PrintSettings.PMPrintSelectionOnly"
#define kPMPrintSelectionOnlyKey CFSTR( kPMPrintSelectionOnlyStr ) /* CFBoolean - True if only current selection should be printed. */
#define kPMBorderStr "com.apple.print.PrintSettings.PMBorder"
#define kPMBorderKey CFSTR( kPMBorderStr ) /* CFBoolean - If true, we do borders. */
#define kPMBorderTypeStr "com.apple.print.PrintSettings.PMBorderType"
#define kPMBorderTypeKey CFSTR( kPMBorderTypeStr ) /* CFNumber - kCFNumberSInt32Type, Enum (PMBorderType) */
#define kPMLayoutNUpStr "com.apple.print.PrintSettings.PMLayoutNUp"
#define kPMLayoutNUpKey CFSTR( kPMLayoutNUpStr ) /* CFBoolean, Turns on N-Up layout. */
#define kPMLayoutRowsStr "com.apple.print.PrintSettings.PMLayoutRows"
#define kPMLayoutRowsKey CFSTR( kPMLayoutRowsStr ) /* CFNumber - kCFNumberSInt32Type, indicates number of layout rows. */
#define kPMLayoutColumnsStr "com.apple.print.PrintSettings.PMLayoutColumns"
#define kPMLayoutColumnsKey CFSTR( kPMLayoutColumnsStr ) /* CFNumber - kCFNumberSInt32Type, indicates number of layout columns. */
#define kPMLayoutDirectionStr "com.apple.print.PrintSettings.PMLayoutDirection"
#define kPMLayoutDirectionKey CFSTR( kPMLayoutDirectionStr ) /* CFNumber - kCFNumberSInt32Type, Enum (PMLayoutDirection) */
#define kPMLayoutTileOrientationStr "com.apple.print.PrintSettings.PMLayoutTileOrientation"
#define kPMLayoutTileOrientationKey CFSTR( kPMLayoutTileOrientationStr ) /* CFNumber - kCFNumberSInt32Type, PMOrientation, 1 = portrait, 2 = landscape, etc. */
#define kPMJobStateStr "com.apple.print.PrintSettings.PMJobState"
#define kPMJobStateKey CFSTR( kPMJobStateStr ) /* CFNumber - kCFNumberSInt32Type, Enum, active = 0, pending, hold until, hold indefinitely, aborted, finished */
#define kPMJobHoldUntilTimeStr "com.apple.print.PrintSettings.PMJobHoldUntilTime"
#define kPMJobHoldUntilTimeKey CFSTR( kPMJobHoldUntilTimeStr ) /* CFDate - Time we expect to print the job. */
#define kPMJobPriorityStr "com.apple.print.PrintSettings.PMJobPriority"
#define kPMJobPriorityKey CFSTR( kPMJobPriorityStr ) /* CFNumber - kCFNumberSInt32Type, Enum, Low = 0, normal, urgent */
#define kPMDuplexingStr "com.apple.print.PrintSettings.PMDuplexing"
#define kPMDuplexingKey CFSTR( kPMDuplexingStr ) /* CFNumber - kCFNumberSInt32Type, Enum, kPMDuplexNone, kPMDuplexNoTumble, kPMDuplexTumble, kPMSimplexTumble */
#define kPMColorSyncProfileIDStr "com.apple.print.PrintSettings.PMColorSyncProfileID"
#define kPMColorSyncProfileIDKey CFSTR( kPMColorSyncProfileIDStr ) /* CFNumber - kCFNumberSInt32Type, ID of profile to use. */
#define kPMPrimaryPaperFeedStr "com.apple.print.PrintSettings.PMPrimaryPaperFeed"
#define kPMPrimaryPaperFeedKey CFSTR( kPMPrimaryPaperFeedStr ) /* CFArray - main & option PPD key for input paper feed */
#define kPMSecondaryPaperFeedStr "com.apple.print.PrintSettings.PMSecondaryPaperFeed"
#define kPMSecondaryPaperFeedKey CFSTR( kPMSecondaryPaperFeedStr ) /* CFArray - main & option PPD key for input paper feed */
#define kPMPSErrorHandlerStr "com.apple.print.PrintSettings.PMPSErrorHandler"
#define kPMPSErrorHandlerKey CFSTR( kPMPSErrorHandlerStr ) /* CFNumber - kCFNumberSInt32Type */
#define kPMPSTraySwitchStr "com.apple.print.PrintSettings.PMPSTraySwitch"
#define kPMPSTraySwitchKey CFSTR( kPMPSTraySwitchStr ) /* CFArray - main & option PPD key for tray switching */
#define kPMTotalBeginPagesStr "com.apple.print.PrintSettings.PMTotalBeginPages"
#define kPMTotalBeginPagesKey CFSTR( kPMTotalBeginPagesStr ) /* CFNumber the total number of times beginpage was called */
#define kPMTotalSidesImagedStr "com.apple.print.PrintSettings.PMTotalSidesImaged"
#define kPMTotalSidesImagedKey CFSTR( kPMTotalSidesImagedStr ) /* CFNumber the total number of sides that will printed. Does not take into account duplex and collation */
#define kPMFitToPageStr "fit-to-page"
#define kPMFitToPageKey CFSTR( kPMFitToPageStr ) /* CFString - If CFSTR("true"), orient, scale to fit and/or center each page as appropriate. Default value: CFSTR("false"). */
#define kPMUseOptionalPINStr "com.apple.print.PrintSettings.PMUseOptionalPIN"
#define kPMUseOptionalPINKey CFSTR( kPMUseOptionalPINStr ) /* CFBoolean - requires PIN to print */
#define kPMUseOptionalAccountIDStr "com.apple.print.PrintSettings.PMUseOptionalAccountID"
#define kPMUseOptionalAccountIDKey CFSTR( kPMUseOptionalAccountIDStr ) /* CFBoolean - Uses optional AccountID for job */
/* Fax Related */
#define kPMFaxNumberStr "phone"
#define kPMFaxNumberKey CFSTR( kPMFaxNumberStr ) /* CFString - fax number to dial */
#define kPMFaxToStr "faxTo"
#define kPMFaxToKey CFSTR( kPMFaxToStr ) /* CFString - entire fax to line */
#define kPMFaxPrefixStr "faxPrefix"
#define kPMFaxPrefixKey CFSTR( kPMFaxPrefixStr ) /* CFString - fax prefix to dial */
#define kPMFaxSubjectStr "faxSubject"
#define kPMFaxSubjectKey CFSTR( kPMFaxSubjectStr ) /* CFString - fax subject linee*/
#define kPMFaxCoverSheetStr "faxCoverSheet"
#define kPMFaxCoverSheetKey CFSTR( kPMFaxCoverSheetStr ) /* CFString - fax cover sheet */
#define kPMFaxCoverSheetMessageStr "faxCoverSheetMessage"
#define kPMFaxCoverSheetMessageKey CFSTR( kPMFaxCoverSheetMessageStr ) /* CFString - fax cover sheet message*/
#define kPMFaxToneDialingStr "faxToneDialing"
#define kPMFaxToneDialingKey CFSTR( kPMFaxToneDialingStr ) /* CFString - fax use tone dialing */
#define kPMFaxUseSoundStr "faxUseSound"
#define kPMFaxUseSoundKey CFSTR( kPMFaxUseSoundStr ) /* CFString - fax use sound */
#define kPMFaxWaitForDialToneStr "faxWaitForDialTone"
#define kPMFaxWaitForDialToneKey CFSTR( kPMFaxWaitForDialToneStr ) /* CFString - fax wait for dial tone */
#define kPMFaxToLabelStr "faxToLabel"
#define kPMFaxToLabelKey CFSTR( kPMFaxToLabelStr ) /* CFString - To: label */
#define kPMFaxFromLabelStr "faxFromLabel"
#define kPMFaxFromLabelKey CFSTR( kPMFaxFromLabelStr ) /* CFString - From: label */
#define kPMFaxDateLabelStr "faxDateLabel"
#define kPMFaxDateLabelKey CFSTR( kPMFaxDateLabelStr ) /* CFString - Date: label */
#define kPMFaxSubjectLabelStr "faxSubjectLabel"
#define kPMFaxSubjectLabelKey CFSTR( kPMFaxSubjectLabelStr ) /* CFString - Subject: label */
#define kPMFaxSheetsLabelStr "faxSheetsLabel"
#define kPMFaxSheetsLabelKey CFSTR( kPMFaxSheetsLabelStr ) /* CFString - Sheets to Follow: label */
/* Coverpage Related */
#define kPMCoverPageStr "com.apple.print.PrintSettings.PMCoverPage"
#define kPMCoverPageKey CFSTR( kPMCoverPageStr ) /* CFNumber - kCFNumberSInt32Type, Enum, kPMCoverPageNone, kPMCoverPageBefore, kPMCoverPageAfter */
/* The values for kPMCoverPageKey */
enum {
kPMCoverPageNone = 1,
// Print a cover page before printing the document.
kPMCoverPageBefore = 2,
// Print a cover page after printing the document.
kPMCoverPageAfter = 3
};
/* If the kPMDuplexingKey is not in a print settings then kPMDuplexDefault should be assumed.
*/
#define kPMCoverPageDefault (kPMCoverPageNone)
#define kPMCoverPageSourceStr "com.apple.print.PrintSettings.PMCoverPageSource"
#define kPMCoverPageSourceKey CFSTR( kPMCoverPageSourceStr ) /* CFArray - main & option PPD key for cover page paper source */
#define kPMDestinationPrinterIDStr "DestinationPrinterID"
#define kPMDestinationPrinterIDKey CFSTR( kPMDestinationPrinterIDStr ) /* CFStringRef - the printer ID corresponding to the destination printer */
#define kPMInlineWorkflowStr "inlineWorkflow"
#define kPMInlineWorkflowKey CFSTR( kPMInlineWorkflowStr ) /* CFStringRef - the URL for the inline workflow item that will process this job */
#define kPMPageToPaperMappingTypeStr "com.apple.print.PageToPaperMappingType"
#define kPMPageToPaperMappingTypeKey CFSTR(kPMPageToPaperMappingTypeStr) /* a CFNumber - values from PMPageToPaperMappingType */
#define kPMPageToPaperMediaNameStr "com.apple.print.PageToPaperMappingMediaName"
#define kPMPageToPaperMediaNameKey CFSTR(kPMPageToPaperMediaNameStr) /* a CFString - the untranslated media name for the destination sheet */
#define kPMPageToPaperMappingAllowScalingUpStr "com.apple.print.PageToPaperMappingAllowScalingUp"
#define kPMPageToPaperMappingAllowScalingUpKey CFSTR(kPMPageToPaperMappingAllowScalingUpStr) /* a CFBoolean - if true, allow scaling up to fit
destination sheet, otherwise do not scale
up if destination sheet is larger than formatting
sheet. Default value: false. */
/*
The kPMCustomProfilePathKey key stores a CFString that corresponds to a custom profile setting for a given printer.
*/
#define kPMCustomProfilePathStr "PMCustomProfilePath"
#define kPMCustomProfilePathKey CFSTR( kPMCustomProfilePathStr )
/* Page to Paper Mapping Types */
typedef enum{
kPMPageToPaperMappingNone = 1,
kPMPageToPaperMappingScaleToFit,
}PMPageToPaperMappingType;
/* Possible values for the kPMColorMatchingModeKey*/
#define kPMVendorColorMatchingStr "AP_VendorColorMatching"
#define kPMVendorColorMatching CFSTR( kPMVendorColorMatchingStr )
#define kPMApplicationColorMatchingStr "AP_ApplicationColorMatching"
#define kPMApplicationColorMatching CFSTR( kPMApplicationColorMatchingStr )
#define kPMColorMatchingModeStr "AP_ColorMatchingMode"
#define kPMColorMatchingModeKey CFSTR( kPMColorMatchingModeStr ) /* Value is CFStringRef - one of kPMColorSyncMatching (deprecated),
kPMVendorColorMatching, kPMApplicationColorMatching */
/* Begin: Use of these keys is discouraged. Use PMSessionSetDestination, PMSessionGetDestinationType, PMSessionCopyDestinationFormat, and PMSessionCopyDestinationLocation instead */
#define kPMDestinationTypeStr "com.apple.print.PrintSettings.PMDestinationType"
#define kPMDestinationTypeKey CFSTR( kPMDestinationTypeStr ) /* CFNumber, kCFNumberSInt32Type kPMDestinationPrinter kPMDestinationFile kPMDestinationFax, etc. */
#define kPMOutputFilenameStr "com.apple.print.PrintSettings.PMOutputFilename"
#define kPMOutputFilenameKey CFSTR( kPMOutputFilenameStr ) /* CFString - URL for the output filename. */
/* End: Use of these keys is discouraged. Use PMSessionSetDestination, PMSessionGetDestinationType, PMSessionCopyDestinationFormat, and PMSessionCopyDestinationLocation instead */
#ifdef __cplusplus
}
#endif
#endif /* __PMPRINTSETTINGSKEYS__ */

View File

@@ -0,0 +1,94 @@
/*
File: PMPrintingDialogExtensions.h
Contains: Mac OS X Printing Manager Print Dialog Extensions' Interfaces.
Version: Technology: Mac OS X
Release: 1.0
Copyright (c) 1998-2008 by Apple Inc. All Rights Reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __PMPRINTINGDIALOGEXTENSIONS__
#define __PMPRINTINGDIALOGEXTENSIONS__
#include <CoreFoundation/CoreFoundation.h>
#include <CoreServices/CoreServices.h>
#ifdef __cplusplus
extern "C" {
#endif
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Constants
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*
Define the Kind IDs for Universal and Standard Printing Dialog Extensions.
*/
/* Implemented Universal */
#define kPMPageAttributesKindID CFSTR("com.apple.print.pde.PageAttributesKind")
#define kPMCopiesAndPagesPDEKindID CFSTR("com.apple.print.pde.CopiesAndPagesKind")
#define kPMLayoutPDEKindID CFSTR("com.apple.print.pde.LayoutUserOptionKind")
#define kPMOutputOptionsPDEKindID CFSTR("com.apple.print.pde.OutputOptionsKind")
#define kPMDuplexPDEKindID CFSTR("com.apple.print.pde.DuplexKind")
#define kPMCustomPaperSizePDEKindID CFSTR("com.apple.print.pde.CustomPaperSizeKind")
#define kPMCoverPagePDEKindID CFSTR("com.apple.print.pde.CoverPageKind")
#define kPMColorMatchingPDEKindID CFSTR("com.apple.print.pde.ColorMatchingKind")
#define kPMSchedulerPDEKindID CFSTR("com.apple.print.pde.SchedulerKind")
#define kPMImagingOptionsPDEKindID CFSTR("com.apple.print.pde.ImagingOptionsKind")
#define kPMFaxCoverPagePDEKindID CFSTR("com.apple.print.pde.FaxCoverPageKind")
#define kPMFaxModemPDEKindID CFSTR("com.apple.print.pde.FaxModemKind")
#define kPMFaxAddressesPDEKindID CFSTR("com.apple.print.pde.FaxAddressesKind")
#define kPMPaperHandlingPDEKindID CFSTR("com.apple.print.pde.PaperHandlingKind")
#define kPMPDFEffectsPDEKindID CFSTR("com.apple.print.pde.PDFEffects")
#define kPMSummaryPanelKindID CFSTR("com.apple.print.pde.SummaryKind")
#define kPMUniPrinterPDEKindID CFSTR("com.apple.print.pde.UniPrinterKind")
#define kPMJobPINPDEKindID CFSTR("com.apple.print.pde.jobPIN")
/* Unimplemented Universal */
#define kPMPaperSourcePDEKindID CFSTR("com.apple.print.pde.PaperSourceKind")
#define kPMPriorityPDEKindID CFSTR("com.apple.print.pde.PriorityKind")
#define kPMRotationScalingPDEKindID CFSTR("com.apple.print.pde.RotationScalingKind")
#define kPMUnsupportedPDEKindID CFSTR("com.apple.print.pde.UnsupportedPDEKind")
/* Implemented Standard */
#define kPMErrorHandlingPDEKindID CFSTR("com.apple.print.pde.ErrorHandlingKind")
#define kPMPaperFeedPDEKindID CFSTR("com.apple.print.pde.PaperFeedKind")
#define kPMPrinterFeaturesPDEKindID CFSTR("com.apple.print.pde.PrinterFeaturesKind")
#define kPMInkPDEKindID CFSTR("com.apple.print.pde.InkKind")
/* Unimplemented Standard */
#define kPMColorPDEKindID CFSTR("com.apple.print.pde.ColorKind")
#define kPMMediaQualityPDEKindID CFSTR("com.apple.print.pde.MediaQualityPDEKind")
#define kPMWatermarkPDEKindID CFSTR("com.apple.print.pde.WatermarkPDEKind")
/* Key to represent information about display order for Cocoa summary info */
#define SUMMARY_DISPLAY_ORDER CFSTR("Summary Display Order")
/* Boolean key in the Bundle's Info.plist file that sepecifies whether the PDEPanels created by the Bundle are Sandbox compatible */
#define kPMSandboxCompatiblePDEs CFSTR("PMSandboxCompatiblePDEs")
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Type Definitions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*
Basic types...
*/
/* Type and Interface IDs. */
#define kDialogExtensionIntfIDStr CFSTR("A996FD7E-B738-11D3-8519-0050E4603277")
#define kGeneralPageSetupDialogTypeIDStr CFSTR("6E6ED964-B738-11D3-952F-0050E4603277")
#define kGeneralPrintDialogTypeIDStr CFSTR("C1BF838E-B72A-11D3-9644-0050E4603277")
#define kAppPageSetupDialogTypeIDStr CFSTR("B9A0DA98-E57F-11D3-9E83-0050E4603277")
#define kAppPrintDialogTypeIDStr CFSTR("BCB07250-E57F-11D3-8CA6-0050E4603277")
#define kAppPrintThumbnailTypeIDStr CFSTR("9320FE03-B5D5-11D5-84D1-003065D6135E")
#define kPrinterModuleTypeIDStr CFSTR("BDB091F4-E57F-11D3-B5CC-0050E4603277")
#ifdef __cplusplus
}
#endif
#endif /* __PMPRINTINGDIALOGEXTENSIONS__ */

View File

@@ -0,0 +1,46 @@
/*
File: PrintCore/PrintCore.h
Contains: Printing functions that have no UI
Copyright (c) 2000-2006,2008 Apple Inc. All Rights Reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __PRINTCORE__
#define __PRINTCORE__
#ifndef __CORESERVICES__
#include <CoreServices/CoreServices.h>
#endif
#ifndef __COLORSYNC__
#include <ColorSync/ColorSync.h>
#endif
#ifndef __PMDEFINITIONS__
#include <PrintCore/PMDefinitions.h>
#endif
#ifndef __PMCORE__
#include <PrintCore/PMCore.h>
#endif
#ifndef __PMPrintAETypes__
#include <PrintCore/PMPrintAETypes.h>
#endif
#ifndef __PMPRINTSETTINGSKEYS__
#include <PrintCore/PMPrintSettingsKeys.h>
#endif
#ifndef __PMERRORS__
#include <PrintCore/PMErrors.h>
#endif
#endif /* __PRINTCORE__ */

View File

@@ -0,0 +1,180 @@
--- !tapi-tbd
tbd-version: 4
targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
uuids:
- target: x86_64-macos
value: 240A30D0-BA6D-341E-8681-8C19CB4A7C8C
- target: arm64-macos
value: 00000000-0000-0000-0000-000000000000
- target: arm64e-macos
value: EB091F0C-39D4-3EF2-83A9-57097E34C047
install-name: '/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore'
current-version: 544
parent-umbrella:
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
umbrella: ApplicationServices
exports:
- targets: [ x86_64-macos, arm64e-macos, arm64-macos ]
symbols: [ _CPLAutoSelectCancel, _CPLAutoSelectCreateContext, _CPLAutoSelectGetInfo,
_CPLAutoSelectHasNewPPD, _CPLAutoSelectInstallableOptions,
_CPLAutoSelectPPD, _CPLAutoSelectReleaseContext, _CPLAutoSelectSetIsBinaryOK,
_CPLCopyDefaultPaperID, _CPLCopyDefaultPrinterName, _CPLCopyGenericPPDURL,
_CPLCopyLocalServerURL, _CPLCopyPrinterNames, _CPLCreateOptions,
_CPLCreateOptionsStr, _CPLCreateSuggestedQueueName, _CPLEmptyPPDCache,
_CPLInstallIconFile, _CPLIsPrintAdmin, _CPLIsPrintingManaged,
_CPLPrinterCopyPPD, _CPLPrinterGetType, _CPLPrinterNameInUse,
_CPLPrinterSetLocation, _CPLPrinterSetPPD, _CPLQueuePrintDocument,
_CPLQueueResume, _CPLRemovePrinter, _CPLRemovePrinterKeepPreferences,
_CPLResetPrintingPermissions, _CPLResetPrintingSystem, _CPLServerCreateClass,
_CPLServerCreateQueue, _CPLSetDefaultPaperID, _CPLSetDefaultPrinterName,
_CPLSetUseLastPrinterAsCurrentPrinter, _CPLStartAirScanLegacyBrowsing,
_CPLUseLastPrinterAsCurrentPrinter, _CreateCStrFromEncodedValue,
_FindBestMediaForSheetSize, _GetPPDDefaultColorSpace, _GetPPDRefFromSession,
_MakePrinterDeviceIDFromStr, _PJCCopyArrayPresetPrintingPref,
_PJCCopyArrayPrintingPref, _PJCCopyBooleanPrintingPref, _PJCCopyDictionaryPresetPrintingPref,
_PJCCopyDictionaryPrintingPref, _PJCCopyNumberPresetPrintingPref,
_PJCCopyNumberPrintingPref, _PJCCopyPrinterPrimaryProfileFromSettings,
_PJCCopyStringPresetPrintingPref, _PJCCopyStringPrintingPref,
_PJCCreateAndLaunchPrinterProxy, _PJCCreateDefaultSaveToFileName,
_PJCCreateLocalizedNameFromPPDChoiceName, _PJCCreateLocalizedPaperName2,
_PJCCreateLocalizedPaperNameWithPPD, _PJCCreatePaperInfoListForMenuInternal,
_PJCCreateSuggestedPaper, _PJCGetCurrentProfileIDFromPPD,
_PJCIsMetric, _PJCLaunchPrintCenter, _PJCNewPageFormatWithPMPaper,
_PJCPrintSettingsCreateCustomProfileRef, _PJCPrintSettingsSetCustomProfilePath,
_PJCPrinterCopyFinishingTemplatesList, _PJCPrinterCopyReadyMediaList,
_PJCPrinterGetDeviceID, _PJCPrinterProxyCreateURL, _PJCPrinterSupportsFinishingTemplates,
_PJCPrinterSupportsReadyMedia, _PJCPrinterSupportsThisCustomPaper,
_PJCRunWorkflowWithRenamedPDF, _PJCSessionCreateCopyForAppKit,
_PJCSessionHasApplicationSetPrinter, _PJCSessionSetHideFileExtension,
_PJCSetPresetPrintingPref, _PJCSetPrintingPref, _PJCTicketGetSrcImageableArea,
_PJCTicketGetSrcOrientation, _PJCTicketGetSrcPaperSize, _PJCTicketGetSrcResolution,
_PJCTicketGetSrcScaling, _PMAnalyticsSendEventLazy, _PMBackendExecIO,
_PMCFEqual, _PMCGImageCreateWithEPSDataProvider, _PMConvertFile,
_PMCopyAvailablePPDs, _PMCopyLocalizedPPD, _PMCopyPPDData,
_PMCopyPageFormat, _PMCopyPrintSettings, _PMCopyUserDefaultPaperSize,
_PMCreateCFArrayForPMObjects, _PMCreateGenericPrinter, _PMCreatePageFormat,
_PMCreatePageFormatWithPMPaper, _PMCreatePaperInfoTicketFromPPDPaperName,
_PMCreatePrintSettings, _PMCreatePrinter, _PMCreateProxy,
_PMCreateSession, _PMFindProxy, _PMForceRelease, _PMGetAdjustedPageRect,
_PMGetAdjustedPaperRect, _PMGetCollate, _PMGetCopies, _PMGetDuplex,
_PMGetFirstPage, _PMGetLastPage, _PMGetOrientation, _PMGetPageFormatExtendedData,
_PMGetPageFormatPaper, _PMGetPageRange, _PMGetPrinterModel,
_PMGetReverseOrder, _PMGetScale, _PMGetUnadjustedPageRect,
_PMGetUnadjustedPaperRect, _PMInlineWorkflowCopyItems, _PMLaunchProxy,
_PMMonitorOnlineOfflineState, _PMPageFormatComputeAdjustedRects,
_PMPageFormatComputeAdjustedRectsWithPrinter, _PMPageFormatCreateDataRepresentation,
_PMPageFormatCreateWithDataRepresentation, _PMPageFormatGetPrinterID,
_PMPaperAddToUserPrefs, _PMPaperCopyUserPrefs, _PMPaperCreateCustom,
_PMPaperCreateInternal, _PMPaperCreateLocalizedName, _PMPaperCreatePMTicketRef,
_PMPaperGetHeight, _PMPaperGetID, _PMPaperGetMargins, _PMPaperGetPPDPaperName,
_PMPaperGetPrinterID, _PMPaperGetWidth, _PMPaperIsCustom,
_PMPaperRemoveFromUserPrefs, _PMPresetCopyName, _PMPresetCreatePrintSettings,
_PMPresetGetAttributes, _PMPrintSettingsCopyAsDictionary,
_PMPrintSettingsCopyKeys, _PMPrintSettingsCreateDataRepresentation,
_PMPrintSettingsCreateWithDataRepresentation, _PMPrintSettingsGetJobName,
_PMPrintSettingsGetValue, _PMPrintSettingsSetJobName, _PMPrintSettingsSetValue,
_PMPrintSettingsToOptions, _PMPrintSettingsToOptionsWithPrinterAndPageFormat,
_PMPrinterCanDuplex, _PMPrinterCanIdentify, _PMPrinterCanScan,
_PMPrinterChargeInfoURI, _PMPrinterCopyACL, _PMPrinterCopyDefaultUserCredentials,
_PMPrinterCopyDescriptionURL, _PMPrinterCopyDeviceURI, _PMPrinterCopyFinalDeviceURI,
_PMPrinterCopyHostName, _PMPrinterCopyMembers, _PMPrinterCopyPresets,
_PMPrinterCopyRequiredUserCredentials, _PMPrinterCopyScannerUUID,
_PMPrinterCopyScanningApp, _PMPrinterCopyScanningAppPath,
_PMPrinterCopyState, _PMPrinterCopySuppliesURI, _PMPrinterCopyTempPPDURL,
_PMPrinterCreateFromPrinterID, _PMPrinterCreatePaperInfoListForMenuPriv,
_PMPrinterGetCommInfo, _PMPrinterGetConsumables, _PMPrinterGetConsumablesDisclaimer,
_PMPrinterGetCustomPaperSizeHardwareMargins, _PMPrinterGetCustomPaperSizeHardwareSheetSize,
_PMPrinterGetDriverCreator, _PMPrinterGetDriverReleaseInfo,
_PMPrinterGetID, _PMPrinterGetIconData, _PMPrinterGetImage,
_PMPrinterGetIndexedPrinterResolution, _PMPrinterGetLanguageInfo,
_PMPrinterGetLocation, _PMPrinterGetMakeAndModelName, _PMPrinterGetMimeTypes,
_PMPrinterGetName, _PMPrinterGetOutputResolution, _PMPrinterGetPaperList,
_PMPrinterGetPrinterResolutionCount, _PMPrinterGetPrinterValue,
_PMPrinterGetState, _PMPrinterHasCustomPaperSizes, _PMPrinterIdentify,
_PMPrinterIsAirPrint, _PMPrinterIsAllowed, _PMPrinterIsClass,
_PMPrinterIsDefault, _PMPrinterIsDirectConnect, _PMPrinterIsFavorite,
_PMPrinterIsFax, _PMPrinterIsGenericPrinter, _PMPrinterIsLocked,
_PMPrinterIsPostScriptCapable, _PMPrinterIsPostScriptPrinter,
_PMPrinterIsRemote, _PMPrinterIsScanner, _PMPrinterIsShared,
_PMPrinterPrintWithFile, _PMPrinterPrintWithProvider, _PMPrinterRequiresAccountingInformation,
_PMPrinterRequiresUserCredentials, _PMPrinterSendCommand,
_PMPrinterSetACL, _PMPrinterSetConsumables, _PMPrinterSetConsumablesDisclaimer,
_PMPrinterSetConsumablesOptionalText, _PMPrinterSetDefault,
_PMPrinterSetFavorite, _PMPrinterSetLocation, _PMPrinterSetMarkerChangeTime,
_PMPrinterSetModel, _PMPrinterSetName, _PMPrinterSetOutputResolution,
_PMPrinterSetShared, _PMPrinterStartMonitoring, _PMPrinterStopMonitoring,
_PMPrinterSupportsMatchingMode, _PMPrinterUsesTCP, _PMPrinterWritePostScriptToURL,
_PMRelease, _PMRetain, _PMServerCopyJobLog, _PMServerCreateDeviceList,
_PMServerCreatePrinterList, _PMServerLaunchPrinterBrowser,
_PMSessionBeginCGDocumentNoDialog, _PMSessionBeginDocumentNoDialogPrivate,
_PMSessionBeginPageNoDialog, _PMSessionCopyApplicationOutputIntent,
_PMSessionCopyApplicationOutputIntentWithColorSyncProfiles,
_PMSessionCopyCurrentPrinterColorSyncProfile, _PMSessionCopyDefaultOutputIntent,
_PMSessionCopyDefaultOutputIntentWithColorSyncProfiles, _PMSessionCopyDestinationFormat,
_PMSessionCopyDestinationLocation, _PMSessionCopyOutputFormatList,
_PMSessionCreatePageFormatList, _PMSessionCreatePrinterList,
_PMSessionDefaultPageFormat, _PMSessionDefaultPrintSettings,
_PMSessionDisablePrinterPresetsPrivate, _PMSessionEnablePrinterPresetsPrivate,
_PMSessionEndDocumentNoDialog, _PMSessionEndPageNoDialog,
_PMSessionError, _PMSessionGetCGGraphicsContext, _PMSessionGetColorMatchingMode,
_PMSessionGetColorMatchingModeLock, _PMSessionGetCurrentPrinter,
_PMSessionGetDataFromSession, _PMSessionGetDestinationType,
_PMSessionGetDocumentTags, _PMSessionGetGenericPrinter, _PMSessionGetHideFileExtension,
_PMSessionSetApplicationOutputIntent, _PMSessionSetApplicationOutputIntentWithColorSyncProfiles,
_PMSessionSetColorMatchingMode, _PMSessionSetColorMatchingModeLock,
_PMSessionSetColorMatchingModeNoLock, _PMSessionSetCurrentPMPrinter,
_PMSessionSetDataInSession, _PMSessionSetDestination, _PMSessionSetDocumentTags,
_PMSessionSetError, _PMSessionSetHideFileExtension, _PMSessionValidatePageFormat,
_PMSessionValidatePrintSettings, _PMSetCollate, _PMSetCopies,
_PMSetDuplex, _PMSetFirstPage, _PMSetLastPage, _PMSetOrientation,
_PMSetPageFormatExtendedData, _PMSetPageRange, _PMSetReverseOrder,
_PMSetScale, _PMSetUserDefaultPaperSize, _PMTicketConfirmTicket,
_PMTicketContainsItem, _PMTicketCopy, _PMTicketCopyKeys, _PMTicketCreate,
_PMTicketCreateDict, _PMTicketCreateMutableDict, _PMTicketDeleteItem,
_PMTicketGetAllocator, _PMTicketGetBoolean, _PMTicketGetBytes,
_PMTicketGetCFArray, _PMTicketGetCFBoolean, _PMTicketGetCFData,
_PMTicketGetCFString, _PMTicketGetDouble, _PMTicketGetItem,
_PMTicketGetPMRect, _PMTicketGetSInt32, _PMTicketGetThisBoolean,
_PMTicketGetThisCString, _PMTicketGetThisItem, _PMTicketGetThisPMRect,
_PMTicketGetThisSInt32, _PMTicketGetThisTypedItem, _PMTicketGetTicket,
_PMTicketGetType, _PMTicketGetUInt32, _PMTicketGetUTF8String,
_PMTicketRelease, _PMTicketReleaseAndClear, _PMTicketReleaseItem,
_PMTicketRemoveTicket, _PMTicketRetain, _PMTicketSetBoolean,
_PMTicketSetBytes, _PMTicketSetCFBoolean, _PMTicketSetCFData,
_PMTicketSetCFString, _PMTicketSetCString, _PMTicketSetDouble,
_PMTicketSetItem, _PMTicketSetPMRect, _PMTicketSetSInt32,
_PMTicketSetTicket, _PMTicketSetUInt32, _PMTicketToLightXML,
_PMTicketToXML, _PMUpdateProxy, _PMWorkflowCopyItems, _PMWorkflowSubmitPDFWithOptions,
_PMWorkflowSubmitPDFWithSettings, _PMXMLToTicket, __PMLog,
__PMLogPerf, __ZN12PMBaseObject14SetAppReadOnlyEh, __ZN12PMBaseObject15CopyObjectStateEPS_,
__ZN12PMBaseObject16CreateEmptyArrayEv, __ZN12PMBaseObject21SetUsingRemoteObjectsEh,
__ZN14OpaquePMPresetC1EPK14__CFDictionary, __ZN14OpaquePMPresetC2EPK14__CFDictionary,
__ZN15OpaquePMPrinter14GetPrinterNameEv, __ZN15OpaquePMPrinter14IsQueueStoppedEv,
__ZN15OpaquePMPrinter16IsGenericPrinterEv, __ZN15OpaquePMPrinter19GetPaperListForMenuEv,
__ZN15OpaquePMPrinter19SetPaperListForMenuEPK9__CFArray, __ZN15OpaquePMPrinter22IsPrinterDirectConnectEv,
__ZN18OpaquePMPageFormat21PJCValidPageFormatKeyEPS_, __ZN18PMTicketBaseObject12GetTicketRefEv,
__ZN18PMTicketBaseObject12SetTicketRefEP17OpaquePMTicketRef,
__ZN18PMTicketBaseObject23ReleaseAndReplaceTicketEP17OpaquePMTicketRef,
__ZN20OpaquePMPrintSession10ClearErrorEv, __ZN20OpaquePMPrintSession10SetPreviewEhj,
__ZN20OpaquePMPrintSession12GetJobTicketEv, __ZN20OpaquePMPrintSession16GetXPCConnectionEv,
__ZN20OpaquePMPrintSession16SetXPCConnectionEPU24objcproto13OS_xpc_object8NSObject,
__ZN20OpaquePMPrintSession17GetCurrentPrinterEv, __ZN20OpaquePMPrintSession17SetCurrentPrinterEP15OpaquePMPrinter,
__ZN20OpaquePMPrintSession17SetCurrentPrinterEP15OpaquePMPrinterh,
__ZN20OpaquePMPrintSession19SetDataInDictionaryEPK10__CFStringPKv,
__ZN20OpaquePMPrintSession21GetEnablePresetsPopUpEv, __ZN20OpaquePMPrintSession21GetPresetGraphicsTypeEv,
__ZN20OpaquePMPrintSession21SetPresetGraphicsTypeEPK10__CFString,
__ZN20OpaquePMPrintSession23PJCValidPrintSessionKeyEPS_, __ZN20OpaquePMPrintSession24GetDefaultButtonTitleRefEv,
__ZN20OpaquePMPrintSession7PreviewEv, __ZN20OpaquePMPrintSession8GetErrorEv,
__ZN20OpaquePMPrintSession8GetStateEv, __ZN20OpaquePMPrintSession8SetErrorEi,
__ZN21OpaquePMPrintSettings14PJCGetLastPageEPj, __ZN21OpaquePMPrintSettings14PJCSetLastPageEP17OpaquePMTicketRefjhh,
__ZN21OpaquePMPrintSettings14PJCSetLastPageEjhh, __ZN21OpaquePMPrintSettings15PJCGetFirstPageEPj,
__ZN21OpaquePMPrintSettings17PJCGetDestinationEPtPPK7__CFURL,
__ZN21OpaquePMPrintSettings17PJCSetDestinationEtPK7__CFURL,
__ZN21OpaquePMPrintSettings24PJCValidPrintSettingsKeyEPS_,
_getCurrentMonochromeProfileID, _getMatchedMediaNameFromPrinter,
_getMediaNameFromPaperInfo, _getPDFSpoolingFunctionCallbacks,
_parsePostScriptStatus, _printUIToolCreateConnection, _printUIToolGetAuthenticationInfo,
_printUIToolPrintFD ]
objc-classes: [ PMInkChecker ]
objc-ivars: [ PMInkChecker._consumables, PMInkChecker._printer, PMInkChecker._supplies ]
...

View File

@@ -0,0 +1,21 @@
/*
File: QD/ATSUnicode.h
Contains: Public interfaces for Apple Type Services for Unicode Imaging
Version: Quickdraw-291~1
Copyright: <20> 1997-2019 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 __ATSUNICODE__
#include <ATSUI/ATSUnicode.h>
#endif /* __ATSUNICODE__ */

View File

@@ -0,0 +1,21 @@
/*
File: QD/ATSUnicodeDirectAccess.h
Contains: Public Interfaces/Types for Low Level ATSUI
Version: Quickdraw-291~1
Copyright: <20> 2002-2019 by Apple Inc. all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATSUNICODEDIRECTACCESS__
#include <ATSUI/ATSUnicodeDirectAccess.h>
#endif /* __ATSUNICODEDIRECTACCESS__ */

View File

@@ -0,0 +1,21 @@
/*
File: QD/ATSUnicodeDrawing.h
Contains: ATSUI drawing, measuring, and highlighting functions.
Version: Quickdraw-291~1
Copyright: <20> 2003-2019 by Apple Inc. all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATSUNICODEDRAWING__
#include <ATSUI/ATSUnicodeDrawing.h>
#endif /* __ATSUNICODEDRAWING__ */

View File

@@ -0,0 +1,21 @@
/*
File: QD/ATSUnicodeFlattening.h
Contains: Public interfaces for Apple Type Services for Unicode Imaging
Version: Quickdraw-291~1
Copyright: <20> 2002-2019 by Apple Inc. all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATSUNICODEFLATTENING__
#include <ATSUI/ATSUnicodeFlattening.h>
#endif /* __ATSUNICODEFLATTENING__ */

View File

@@ -0,0 +1,21 @@
/*
File: QD/ATSUnicodeFonts.h
Contains: ATSUI font handling functions.
Version: Quickdraw-291~1
Copyright: <20> 2003-2019 by Apple Inc. all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATSUNICODEFONTS__
#include <ATSUI/ATSUnicodeFonts.h>
#endif /* __ATSUNICODEFONTS__ */

View File

@@ -0,0 +1,21 @@
/*
File: QD/ATSUnicodeGlyphs.h
Contains: ATSUI glyph handling functions.
Version: Quickdraw-291~1
Copyright: <20> 2003-2019 by Apple Inc. all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATSUNICODEGLYPHS__
#include <ATSUI/ATSUnicodeGlyphs.h>
#endif /* __ATSUNICODEGLYPHS__ */

View File

@@ -0,0 +1,22 @@
/*
File: QD/ATSUnicodeObjects.h
Contains: ATSUI object manipulation functions.
Version: Quickdraw-291~1
Copyright: <20> 2003-2008 by Apple Inc. all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATSUNICODEOBJECTS__
#include <ATSUI/ATSUnicodeObjects.h>
#endif /* __ATSUNICODEOBJECTS__ */

View File

@@ -0,0 +1,21 @@
/*
File: QD/ATSUnicodeTypes.h
Contains: ATSUI types and constants.
Version: Quickdraw-291~1
Copyright: <20> 2003-2008 by Apple Inc. all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __ATSUNICODETYPES__
#include <ATSUI/ATSUnicodeTypes.h>
#endif /* __ATSUNICODETYPES__ */

View File

@@ -0,0 +1,121 @@
/*
File: QD/Fonts.h
Contains: Public interface to the Font Manager.
Version: Quickdraw-291~1
Copyright: <20> 1985-2008 by Apple Inc. all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __FONTS__
#define __FONTS__
#ifndef __ATSTYPES__
#include <ATS/ATSTypes.h>
#endif
#include <AvailabilityMacros.h>
#if PRAGMA_ONCE
#pragma once
#endif
#pragma pack(push, 2)
struct FontRec {
SInt16 fontType; /*font type*/
SInt16 firstChar; /*ASCII code of first character*/
SInt16 lastChar; /*ASCII code of last character*/
SInt16 widMax; /*maximum character width*/
SInt16 kernMax; /*negative of maximum character kern*/
SInt16 nDescent; /*negative of descent*/
SInt16 fRectWidth; /*width of font rectangle*/
SInt16 fRectHeight; /*height of font rectangle*/
UInt16 owTLoc; /*offset to offset/width table*/
SInt16 ascent; /*ascent*/
SInt16 descent; /*descent*/
SInt16 leading; /*leading*/
SInt16 rowWords; /*row width of bit image / 2 */
};
typedef struct FontRec FontRec;
typedef FontRec * FontRecPtr;
typedef FontRecPtr * FontRecHdl;
struct FMInput {
short family;
short size;
Style face;
Boolean needBits;
short device;
Point numer;
Point denom;
};
typedef struct FMInput FMInput;
struct FamRec {
SInt16 ffFlags; /*flags for family*/
SInt16 ffFamID; /*family ID number*/
SInt16 ffFirstChar; /*ASCII code of 1st character*/
SInt16 ffLastChar; /*ASCII code of last character*/
SInt16 ffAscent; /*maximum ascent for 1pt font*/
SInt16 ffDescent; /*maximum descent for 1pt font*/
SInt16 ffLeading; /*maximum leading for 1pt font*/
SInt16 ffWidMax; /*maximum widMax for 1pt font*/
SInt32 ffWTabOff; /*offset to width table*/
SInt32 ffKernOff; /*offset to kerning table*/
SInt32 ffStylOff; /*offset to style mapping table*/
SInt16 ffProperty[9]; /*style property info*/
SInt16 ffIntl[2]; /*for international use*/
SInt16 ffVersion; /*version number*/
};
typedef struct FamRec FamRec;
struct AsscEntry {
SInt16 fontSize;
SInt16 fontStyle;
SInt16 fontID;
};
typedef struct AsscEntry AsscEntry;
struct FontAssoc {
SInt16 numAssoc;
};
typedef struct FontAssoc FontAssoc;
struct StyleTable {
SInt16 fontClass;
SInt32 offset;
SInt32 reserved;
char indexes[48];
};
typedef struct StyleTable StyleTable;
struct NameTable {
SInt16 stringCount;
Str255 baseFontName;
};
typedef struct NameTable NameTable;
struct KernPair {
char kernFirst; /*1st character of kerned pair*/
char kernSecond; /*2nd character of kerned pair*/
SInt16 kernWidth; /*kerning in 1pt fixed format*/
};
typedef struct KernPair KernPair;
struct KernEntry {
SInt16 kernStyle; /*style the entry applies to*/
SInt16 kernLength; /*length of this entry*/
};
typedef struct KernEntry KernEntry;
struct KernTable {
SInt16 numKerns;
};
typedef struct KernTable KernTable;
#pragma pack(pop)
#endif /* __FONTS__ */

View File

@@ -0,0 +1,67 @@
/*
File: QD/QD.h
Contains: Master include for QD private framework
Version: Quickdraw-291~1
Copyright: <20> 1999-2008 by Apple, Inc., all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __QD__
#define __QD__
#ifndef __CORESERVICES__
#include <CoreServices/CoreServices.h>
#endif
#ifndef __COREGRAPHICS__
#include <CoreGraphics/CoreGraphics.h>
#endif
#ifndef __ATS__
#include <ATS/ATS.h>
#endif
#ifndef __AE__
#include <AE/AE.h>
#endif
#ifndef __QUICKDRAW__
#include <QD/Quickdraw.h>
#endif
#ifndef __FONTS__
#include <QD/Fonts.h>
#endif
#ifndef __ATSUNICODE__
#include <QD/ATSUnicode.h>
#endif
#ifndef __ATSUNICODETYPES__
#include <QD/ATSUnicodeTypes.h>
#endif
#ifndef __ATSUNICODEGLYPHS__
#include <QD/ATSUnicodeGlyphs.h>
#endif
#ifndef __ATSUNICODEFLATTENING__
#include <QD/ATSUnicodeFlattening.h>
#endif
#ifndef __ATSUNICODEDIRECTACCESS__
#include <QD/ATSUnicodeDirectAccess.h>
#endif
#endif /* __QD__ */

View File

@@ -0,0 +1,38 @@
/*
File: QD.r
Contains: Master include for QD private framework
Version: Quickdraw-291~1
Copyright: <20> 1999-2008 by Apple, Inc., all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __QD_R__
#define __QD_R__
#ifndef __CORESERVICES_R__
#include <CoreServices/CoreServices.r>
#endif
#ifndef __ATS_R__
#include <ATS/ATS.r>
#endif
#ifndef __AE_R__
#include <AE/AE.r>
#endif
#ifndef __QUICKDRAW_R__
#include <QD/Quickdraw.r>
#endif
#endif /* __QD_R__ */

View File

@@ -0,0 +1,33 @@
//
// QDAvailability.h
// Quickdraw
//
// Copyright © 2018 Apple Inc. All rights reserved.
//
#ifndef __QD_AVAILIBILITY__
#define __QD_AVAILIBILITY__
#ifndef __OS_AVAILABILITY__
#include <os/availability.h>
#endif
// The "_R" variation of the macros is for "retroactive"
// Functions declared with it were not deprecated until Mojave, though they should have been by Tiger
#undef QD_AVAILABLE_BUT_DEPRECATED2
#if QD_BUILDING_QD
#define QD_AVAILABLE_BUT_DEPRECATED(m0,m1)
#define QD_AVAILABLE_BUT_DEPRECATED_R(m0,m1)
#else
#define QD_AVAILABLE_BUT_DEPRECATED(m0,m1) API_DEPRECATED("No longer supported", macos(m0,m1))
#define QD_AVAILABLE_BUT_DEPRECATED_R(m0,m1) API_DEPRECATED("No longer supported", macos(m0,m1))
#endif
#endif /* __QD_AVAILIBILITY__ */

View File

@@ -0,0 +1,350 @@
/*
File: QD/Quickdraw.h
Contains: Interface to Quickdraw Graphics
Version: Quickdraw-291~1
Copyright: <20> 1985-2008 by Apple, Inc., all rights reserved
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __QUICKDRAW__
#define __QUICKDRAW__
#ifndef __CORESERVICES__
#include <CoreServices/CoreServices.h>
#endif
#ifndef __COREGRAPHICS__
#include <CoreGraphics/CoreGraphics.h>
#endif
#include <AvailabilityMacros.h>
#include <QD/ColorSyncDeprecated.h>
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
#pragma pack(push, 2)
#define QD_HEADERS_ARE_PRIVATE 1
typedef struct OpaqueGrafPtr* GrafPtr;
typedef GrafPtr CGrafPtr;
typedef CGrafPtr GWorldPtr;
typedef short QDErr;
typedef unsigned long GWorldFlags;
/* For the convenience of QuickTime */
enum {
srcCopy = 0
};
/* needed in ImageCompression.h */
/* Needed in HIServices/Icons.i */
struct BitMap {
Ptr baseAddr;
short rowBytes;
Rect bounds;
};
typedef struct BitMap BitMap;
typedef BitMap * BitMapPtr;
typedef BitMapPtr * BitMapHandle;
struct RGBColor {
unsigned short red;
unsigned short green;
unsigned short blue;
};
typedef struct RGBColor RGBColor;
struct ColorSpec {
short value;
RGBColor rgb;
};
typedef struct ColorSpec ColorSpec;
typedef ColorSpec * ColorSpecPtr;
typedef ColorSpec CSpecArray[1];
struct ColorTable {
SInt32 ctSeed;
short ctFlags;
short ctSize;
CSpecArray ctTable;
};
typedef struct ColorTable ColorTable;
typedef ColorTable * CTabPtr;
typedef CTabPtr * CTabHandle;
struct PixMap {
Ptr baseAddr; /* pointer to pixels */
short rowBytes; /* offset to next line */
Rect bounds; /* encloses bitmap */
short pmVersion; /* pixMap version number */
short packType; /* defines packing format */
SInt32 packSize; /* length of pixel data */
Fixed hRes; /* horiz. resolution (ppi) */
Fixed vRes; /* vert. resolution (ppi) */
short pixelType; /* defines pixel type */
short pixelSize; /* # bits in pixel */
short cmpCount; /* # components in pixel */
short cmpSize; /* # bits per component */
OSType pixelFormat; /* fourCharCode representation */
CTabHandle pmTable; /* color map for this pixMap */
void * pmExt; /* Handle to pixMap extension */
};
typedef struct PixMap PixMap;
typedef PixMap * PixMapPtr;
typedef PixMapPtr * PixMapHandle;
#define GETPIXMAPPIXELFORMAT(pm) ( ((pm)->pixelFormat != 0) ? (UInt32)(pm)->pixelFormat : (UInt32)(pm)->pixelSize )
/* Values for PixMap.pixelFormat (BE = Big Endian, LE = Little Endian)*/
enum {
/* The original pixel formats supported by 32-bit Color Quickdraw*/
k1MonochromePixelFormat = 0x00000001, /* 1 bit indexed*/
k2IndexedPixelFormat = 0x00000002, /* 2 bit indexed*/
k4IndexedPixelFormat = 0x00000004, /* 4 bit indexed*/
k8IndexedPixelFormat = 0x00000008, /* 8 bit indexed*/
k16BE555PixelFormat = 0x00000010, /* 16 bit BE rgb 555 (Mac)*/
k24RGBPixelFormat = 0x00000018, /* 24 bit rgb */
k32ARGBPixelFormat = 0x00000020, /* 32 bit argb (Mac)*/
/* QuickTime additions*/
k1IndexedGrayPixelFormat = 0x00000021, /* 1 bit indexed gray*/
k2IndexedGrayPixelFormat = 0x00000022, /* 2 bit indexed gray*/
k4IndexedGrayPixelFormat = 0x00000024, /* 4 bit indexed gray*/
k8IndexedGrayPixelFormat = 0x00000028, /* 8 bit indexed gray*/
k16LE555PixelFormat = 'L555', /* 16 bit LE rgb 555 (PC)*/
k16LE5551PixelFormat = '5551', /* 16 bit LE rgb 5551*/
k16BE565PixelFormat = 'B565', /* 16 bit BE rgb 565*/
k16LE565PixelFormat = 'L565', /* 16 bit LE rgb 565*/
k24BGRPixelFormat = '24BG', /* 24 bit bgr */
k32BGRAPixelFormat = 'BGRA', /* 32 bit bgra (Matrox)*/
k32ABGRPixelFormat = 'ABGR', /* 32 bit abgr */
k32RGBAPixelFormat = 'RGBA', /* 32 bit rgba */
kYUVSPixelFormat = 'yuvs', /* YUV 4:2:2 byte ordering 16-unsigned = 'YUY2'*/
kYUVUPixelFormat = 'yuvu', /* YUV 4:2:2 byte ordering 16-signed*/
kYVU9PixelFormat = 'YVU9', /* YVU9 Planar 9*/
kYUV411PixelFormat = 'Y411', /* YUV 4:1:1 Interleaved 16*/
kYVYU422PixelFormat = 'YVYU', /* YVYU 4:2:2 byte ordering 16*/
kUYVY422PixelFormat = 'UYVY', /* UYVY 4:2:2 byte ordering 16*/
kYUV211PixelFormat = 'Y211', /* YUV 2:1:1 Packed 8*/
k2vuyPixelFormat = '2vuy' /* UYVY 4:2:2 byte ordering 16*/
};
struct Pattern {
UInt8 pat[8];
};
typedef struct Pattern Pattern;
typedef Pattern * PatPtr;
typedef PatPtr * PatHandle;
struct PixPat {
short patType; /*type of pattern*/
PixMapHandle patMap; /*the pattern's pixMap*/
Handle patData; /*pixmap's data*/
Handle patXData; /*expanded Pattern data*/
short patXValid; /*flags whether expanded Pattern valid*/
Handle patXMap; /*Handle to expanded Pattern data*/
Pattern pat1Data; /*old-Style pattern/RGB color*/
};
typedef struct PixPat PixPat;
typedef PixPat * PixPatPtr;
typedef PixPatPtr * PixPatHandle;
typedef struct OpaqueRgnHandle* RgnHandle;
typedef struct GDevice GDevice;
typedef GDevice * GDPtr;
typedef GDPtr * GDHandle;
struct GDevice {
short gdRefNum; /*driver's unit number*/
short gdID; /*client ID for search procs*/
short gdType; /*fixed/CLUT/direct*/
Handle gdITable; /*Handle to inverse lookup table*/
short gdResPref; /*preferred resolution of GDITable*/
Handle gdSearchProc; /*search proc list head*/
Handle gdCompProc; /*complement proc list*/
short gdFlags; /*grafDevice flags word*/
PixMapHandle gdPMap; /*describing pixMap*/
SInt32 gdRefCon; /*reference value*/
GDHandle gdNextGD; /*GDHandle Handle of next gDevice*/
Rect gdRect; /* device's bounds in global coordinates*/
SInt32 gdMode; /*device's current mode*/
short gdCCBytes; /*depth of expanded cursor data*/
short gdCCDepth; /*depth of expanded cursor data*/
Handle gdCCXData; /*Handle to cursor's expanded data*/
Handle gdCCXMask; /*Handle to cursor's expanded mask*/
Handle gdExt; /*QuickTime 3.0 private info*/
};
struct Picture {
short picSize;
Rect picFrame;
};
typedef struct Picture Picture;
typedef Picture * PicPtr;
typedef PicPtr * PicHandle;
struct OpenCPicParams {
Rect srcRect;
Fixed hRes;
Fixed vRes;
short version;
short reserved1;
SInt32 reserved2;
};
typedef struct OpenCPicParams OpenCPicParams;
struct FontInfo {
short ascent;
short descent;
short widMax;
short leading;
};
typedef struct FontInfo FontInfo;
typedef SInt32 QDRegionParseDirection;
typedef CALLBACK_API_C( OSStatus , RegionToRectsProcPtr )(UInt16 message, RgnHandle rgn, const Rect *rect, void *refCon);
typedef STACK_UPP_TYPE(RegionToRectsProcPtr) RegionToRectsUPP;
typedef short TruncCode;
/* DragConstraint is needed in Controls.h */
typedef UInt16 DragConstraint;
enum {
kNoConstraint = 0,
kVerticalConstraint = 1,
kHorizontalConstraint = 2
};
typedef CALLBACK_API( void , DragGrayRgnProcPtr )(void);
typedef CALLBACK_API( Boolean , ColorSearchProcPtr )(RGBColor *rgb, long *position);
typedef CALLBACK_API( Boolean , ColorComplementProcPtr )(RGBColor * rgb);
typedef STACK_UPP_TYPE(DragGrayRgnProcPtr) DragGrayRgnUPP;
typedef STACK_UPP_TYPE(ColorSearchProcPtr) ColorSearchUPP;
typedef STACK_UPP_TYPE(ColorComplementProcPtr) ColorComplementUPP;
/*
* This set of definitions "belongs" in MacWindows.
* But, there is a circularity in the headers where MacWindows includes Controls
* and Controls includes MacWindows. To break the circle, the information
* needed by Controls is moved from MacWindows to Quickdraw.
*/
typedef struct OpaqueWindowPtr* WindowPtr;
typedef struct OpaqueDialogPtr* DialogPtr;
typedef WindowPtr WindowRef;
/*
* Something for Quickdraw.r (needed by Icons.r etc. in HIToolbox):
*/
/* Temporary, until QuickTime resolves rdar://7359491 */
struct VDGammaRecord {
Ptr csGTable; /*pointer to gamma table*/
};
typedef struct VDGammaRecord VDGammaRecord;
typedef VDGammaRecord * VDGamRecPtr;
/* CQDProcs needed by QTKit.framework/.../QTUtilities_Private.h */
/* CQDProcs requires all the following */
struct MacPolygon {
short polySize;
Rect polyBBox;
Point polyPoints[1];
};
typedef struct MacPolygon MacPolygon;
/*
The type name "Polygon" has a name space collision on Win32.
Use MacPolygon to be cross-platfrom safe.
*/
typedef MacPolygon Polygon;
typedef MacPolygon * PolyPtr;
typedef PolyPtr * PolyHandle;
typedef SInt8 GrafVerb;
typedef SInt32 PrinterStatusOpcode;
typedef CALLBACK_API( void , QDTextProcPtr )(short byteCount, const void *textBuf, Point numer, Point denom);
typedef CALLBACK_API( void , QDLineProcPtr )(Point newPt);
typedef CALLBACK_API( void , QDRectProcPtr )(GrafVerb verb, const Rect *r);
typedef CALLBACK_API( void , QDRRectProcPtr )(GrafVerb verb, const Rect *r, short ovalWidth, short ovalHeight);
typedef CALLBACK_API( void , QDOvalProcPtr )(GrafVerb verb, const Rect *r);
typedef CALLBACK_API( void , QDArcProcPtr )(GrafVerb verb, const Rect *r, short startAngle, short arcAngle);
typedef CALLBACK_API( void , QDPolyProcPtr )(GrafVerb verb, PolyHandle poly);
typedef CALLBACK_API( void , QDRgnProcPtr )(GrafVerb verb, RgnHandle rgn);
typedef CALLBACK_API( void , QDBitsProcPtr )(const BitMap *srcBits, const Rect *srcRect, const Rect *dstRect, short mode, RgnHandle maskRgn);
typedef CALLBACK_API( void , QDCommentProcPtr )(short kind, short dataSize, Handle dataHandle);
typedef CALLBACK_API( short , QDTxMeasProcPtr )(short byteCount, const void *textAddr, Point *numer, Point *denom, FontInfo *info);
typedef CALLBACK_API( void , QDGetPicProcPtr )(void *dataPtr, short byteCount);
typedef CALLBACK_API( void , QDPutPicProcPtr )(const void *dataPtr, short byteCount);
typedef CALLBACK_API( void , QDOpcodeProcPtr )(const Rect *fromRect, const Rect *toRect, UInt16 opcode, SInt16 version);
/* The following is unused on Mac OS X - ignore it! */
typedef CALLBACK_API_C( OSStatus , QDStdGlyphsProcPtr )(void *dataStream, ByteCount size);
typedef CALLBACK_API( void , QDJShieldCursorProcPtr )(short left, short top, short right, short bottom);
typedef CALLBACK_API_C( OSStatus , QDPrinterStatusProcPtr )(PrinterStatusOpcode opcode, CGrafPtr currentPort, void *printerStatus);
typedef STACK_UPP_TYPE(QDTextProcPtr) QDTextUPP;
typedef STACK_UPP_TYPE(QDLineProcPtr) QDLineUPP;
typedef STACK_UPP_TYPE(QDRectProcPtr) QDRectUPP;
typedef STACK_UPP_TYPE(QDRRectProcPtr) QDRRectUPP;
typedef STACK_UPP_TYPE(QDOvalProcPtr) QDOvalUPP;
typedef STACK_UPP_TYPE(QDArcProcPtr) QDArcUPP;
typedef STACK_UPP_TYPE(QDPolyProcPtr) QDPolyUPP;
typedef STACK_UPP_TYPE(QDRgnProcPtr) QDRgnUPP;
typedef STACK_UPP_TYPE(QDBitsProcPtr) QDBitsUPP;
typedef STACK_UPP_TYPE(QDCommentProcPtr) QDCommentUPP;
typedef STACK_UPP_TYPE(QDTxMeasProcPtr) QDTxMeasUPP;
typedef STACK_UPP_TYPE(QDGetPicProcPtr) QDGetPicUPP;
typedef STACK_UPP_TYPE(QDPutPicProcPtr) QDPutPicUPP;
typedef STACK_UPP_TYPE(QDOpcodeProcPtr) QDOpcodeUPP;
typedef STACK_UPP_TYPE(QDStdGlyphsProcPtr) QDStdGlyphsUPP;
typedef STACK_UPP_TYPE(QDJShieldCursorProcPtr) QDJShieldCursorUPP;
typedef STACK_UPP_TYPE(QDPrinterStatusProcPtr) QDPrinterStatusUPP;
struct CQDProcs {
QDTextUPP textProc;
QDLineUPP lineProc;
QDRectUPP rectProc;
QDRRectUPP rRectProc;
QDOvalUPP ovalProc;
QDArcUPP arcProc;
QDPolyUPP polyProc;
QDRgnUPP rgnProc;
QDBitsUPP bitsProc;
QDCommentUPP commentProc;
QDTxMeasUPP txMeasProc;
QDGetPicUPP getPicProc;
QDPutPicUPP putPicProc;
QDOpcodeUPP opcodeProc;
UniversalProcPtr newProc1; /* this is the StdPix bottleneck -- see ImageCompression.h */
QDStdGlyphsUPP glyphsProc; /* unused on Mac OS X */
QDPrinterStatusUPP printerStatusProc; /* was newProc3; now used to communicate status between Printing code and System imaging code */
UniversalProcPtr newProc4;
UniversalProcPtr newProc5;
UniversalProcPtr newProc6;
};
typedef struct CQDProcs CQDProcs;
typedef CQDProcs * CQDProcsPtr;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/* Temporary until HIToolbox gets fixed */
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
struct GrafPort {
short whatever[87];
};
typedef struct GrafPort GrafPort;
typedef GrafPort CGrafPort;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#pragma pack(pop)
#ifdef __cplusplus
}
#endif
#endif /* __QUICKDRAW__ */

View File

@@ -0,0 +1,70 @@
/*
File: Quickdraw.r
Contains: Interface to Quickdraw Graphics
Version: Quickdraw-291~1
Copyright: <20> 1985-2008 by Apple, Inc., all rights reserved
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __QUICKDRAW_R__
#define __QUICKDRAW_R__
#ifndef __CORESERVICES_R__
#include <CoreServices/CoreServices.r>
#endif
#define QD_HEADERS_ARE_PRIVATE 1
type 'CURS' {
hex string [32]; /* Data */
hex string [32]; /* Mask */
point; /* Hot spot */
};
/*----------------------------------- common macros ---------------------------------------*/
#define PixMapHeight ( $$BitField(Bounds, 32, 16) /* bottom */ \
- $$BitField(Bounds, 0, 16) /* top */ )
#define PixMapWidth ( $$BitField(Bounds, 48, 16) /* right */ \
- $$BitField(Bounds, 16, 16) /* left */ )
#define PixMapBounds integer = $$BitField(Bounds, 0, 16) /* top */; \
integer = $$BitField(Bounds, 16, 16) /* left */; \
integer = $$BitField(Bounds, 32, 16) /* bottom */; \
integer = $$BitField(Bounds, 48, 16) /* right */
#define PixMapRowBytes (((PixMapWidth * $$Word(PixelSize) + 15) / 16) * 2)
#define BitMapRowBytes (((PixMapWidth + 15) / 16) * 2)
#define PixMapHeightIndexed ( $$BitField(Bounds[$$ArrayIndex(PixPatArray)], 32, 16) /* bottom */ \
- $$BitField(Bounds[$$ArrayIndex(PixPatArray)], 0, 16) /* top */ )
#define PixMapWidthIndexed ( $$BitField(Bounds[$$ArrayIndex(PixPatArray)], 48, 16) /* right */ \
- $$BitField(Bounds[$$ArrayIndex(PixPatArray)], 16, 16) /* left */ )
#define PixMapRowBytesIndexed (((PixMapWidthIndexed * $$Word(PixelSize[$$ArrayIndex(PixPatArray)]) + 15) / 16) * 2)
/* RGB colors */
#define whiteRGB $FFFF, $FFFF, $FFFF
#define blackRGB 0, 0, 0
/* colors for 'crsr' resources */
#define transparentRGB $FFFF, $FFFF, $FFFF
#define invertRGB 0, 0, 0
type 'PICT' {
unsigned integer;
rect;
hex string;
};
#endif /* __QUICKDRAW_R__ */

View File

@@ -0,0 +1,465 @@
--- !tapi-tbd
tbd-version: 4
targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
uuids:
- target: x86_64-macos
value: A1BDAC15-0CBD-34C1-9062-F216847870FD
- target: arm64-macos
value: 00000000-0000-0000-0000-000000000000
- target: arm64e-macos
value: 0CAC6072-49F0-3C8A-B2C7-E70ABF66C7DD
install-name: '/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD'
parent-umbrella:
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
umbrella: ApplicationServices
exports:
- targets: [ x86_64-macos, arm64e-macos, arm64-macos ]
symbols: [ '$ld$hide$os10.10$_AddPt', '$ld$hide$os10.10$_ClipCGContextToRegion',
'$ld$hide$os10.10$_ConvertARGBToRGBA', '$ld$hide$os10.10$_CreateCGImageRefFromPixMaps',
'$ld$hide$os10.10$_DisposeCalcColorTableUPP', '$ld$hide$os10.10$_DisposeColorComplementUPP',
'$ld$hide$os10.10$_DisposeColorSearchUPP', '$ld$hide$os10.10$_DisposeDMComponentListIteratorUPP',
'$ld$hide$os10.10$_DisposeDMDisplayListIteratorUPP', '$ld$hide$os10.10$_DisposeDMDisplayModeListIteratorUPP',
'$ld$hide$os10.10$_DisposeDMExtendedNotificationUPP', '$ld$hide$os10.10$_DisposeDMNotificationUPP',
'$ld$hide$os10.10$_DisposeDMProfileListIteratorUPP', '$ld$hide$os10.10$_DisposeDeviceLoopDrawingUPP',
'$ld$hide$os10.10$_DisposeDisposeColorPickMethodUPP', '$ld$hide$os10.10$_DisposeDragGrayRgnUPP',
'$ld$hide$os10.10$_DisposeInitPickMethodUPP', '$ld$hide$os10.10$_DisposePixMap',
'$ld$hide$os10.10$_DisposeQDArcUPP', '$ld$hide$os10.10$_DisposeQDBitsUPP',
'$ld$hide$os10.10$_DisposeQDCommentUPP', '$ld$hide$os10.10$_DisposeQDGetPicUPP',
'$ld$hide$os10.10$_DisposeQDJShieldCursorUPP', '$ld$hide$os10.10$_DisposeQDLineUPP',
'$ld$hide$os10.10$_DisposeQDOpcodeUPP', '$ld$hide$os10.10$_DisposeQDOvalUPP',
'$ld$hide$os10.10$_DisposeQDPolyUPP', '$ld$hide$os10.10$_DisposeQDPutPicUPP',
'$ld$hide$os10.10$_DisposeQDRRectUPP', '$ld$hide$os10.10$_DisposeQDRectUPP',
'$ld$hide$os10.10$_DisposeQDRgnUPP', '$ld$hide$os10.10$_DisposeQDStdGlyphsUPP',
'$ld$hide$os10.10$_DisposeQDTextUPP', '$ld$hide$os10.10$_DisposeQDTxMeasUPP',
'$ld$hide$os10.10$_DisposeRGBA32ImageData', '$ld$hide$os10.10$_DisposeRecordColorsUPP',
'$ld$hide$os10.10$_DisposeRegionToRectsUPP', '$ld$hide$os10.10$_DisposeStyleRunDirectionUPP',
'$ld$hide$os10.10$_FMFontGetCGFontRefFromFontFamilyInstance',
'$ld$hide$os10.10$_GetCTSeed', '$ld$hide$os10.10$_GetPMBaseAddr',
'$ld$hide$os10.10$_GetPMRowBytes', '$ld$hide$os10.10$_GetPixBaseAddr',
'$ld$hide$os10.10$_HandleToRgn', '$ld$hide$os10.10$_InvokeCalcColorTableUPP',
'$ld$hide$os10.10$_InvokeColorComplementUPP', '$ld$hide$os10.10$_InvokeColorSearchUPP',
'$ld$hide$os10.10$_InvokeDMComponentListIteratorUPP', '$ld$hide$os10.10$_InvokeDMDisplayListIteratorUPP',
'$ld$hide$os10.10$_InvokeDMDisplayModeListIteratorUPP', '$ld$hide$os10.10$_InvokeDMExtendedNotificationUPP',
'$ld$hide$os10.10$_InvokeDMNotificationUPP', '$ld$hide$os10.10$_InvokeDMProfileListIteratorUPP',
'$ld$hide$os10.10$_InvokeDeviceLoopDrawingUPP', '$ld$hide$os10.10$_InvokeDisposeColorPickMethodUPP',
'$ld$hide$os10.10$_InvokeDragGrayRgnUPP', '$ld$hide$os10.10$_InvokeInitPickMethodUPP',
'$ld$hide$os10.10$_InvokeQDArcUPP', '$ld$hide$os10.10$_InvokeQDBitsUPP',
'$ld$hide$os10.10$_InvokeQDCommentUPP', '$ld$hide$os10.10$_InvokeQDGetPicUPP',
'$ld$hide$os10.10$_InvokeQDJShieldCursorUPP', '$ld$hide$os10.10$_InvokeQDLineUPP',
'$ld$hide$os10.10$_InvokeQDOpcodeUPP', '$ld$hide$os10.10$_InvokeQDOvalUPP',
'$ld$hide$os10.10$_InvokeQDPolyUPP', '$ld$hide$os10.10$_InvokeQDPutPicUPP',
'$ld$hide$os10.10$_InvokeQDRRectUPP', '$ld$hide$os10.10$_InvokeQDRectUPP',
'$ld$hide$os10.10$_InvokeQDRgnUPP', '$ld$hide$os10.10$_InvokeQDStdGlyphsUPP',
'$ld$hide$os10.10$_InvokeQDTextUPP', '$ld$hide$os10.10$_InvokeQDTxMeasUPP',
'$ld$hide$os10.10$_InvokeRecordColorsUPP', '$ld$hide$os10.10$_InvokeRegionToRectsUPP',
'$ld$hide$os10.10$_InvokeStyleRunDirectionUPP', '$ld$hide$os10.10$_IsAntiAliasedTextEnabled',
'$ld$hide$os10.10$_IsValidRgnHandle', '$ld$hide$os10.10$_LMGetFontFlag',
'$ld$hide$os10.10$_LMSetFontFlag', '$ld$hide$os10.10$_MapPt',
'$ld$hide$os10.10$_MapRect', '$ld$hide$os10.10$_MapRgn', '$ld$hide$os10.10$_NewCalcColorTableUPP',
'$ld$hide$os10.10$_NewColorComplementUPP', '$ld$hide$os10.10$_NewColorSearchUPP',
'$ld$hide$os10.10$_NewDMComponentListIteratorUPP', '$ld$hide$os10.10$_NewDMDisplayListIteratorUPP',
'$ld$hide$os10.10$_NewDMDisplayModeListIteratorUPP', '$ld$hide$os10.10$_NewDMExtendedNotificationUPP',
'$ld$hide$os10.10$_NewDMNotificationUPP', '$ld$hide$os10.10$_NewDMProfileListIteratorUPP',
'$ld$hide$os10.10$_NewDeviceLoopDrawingUPP', '$ld$hide$os10.10$_NewDisposeColorPickMethodUPP',
'$ld$hide$os10.10$_NewDragGrayRgnUPP', '$ld$hide$os10.10$_NewInitPickMethodUPP',
'$ld$hide$os10.10$_NewQDArcUPP', '$ld$hide$os10.10$_NewQDBitsUPP',
'$ld$hide$os10.10$_NewQDCommentUPP', '$ld$hide$os10.10$_NewQDGetPicUPP',
'$ld$hide$os10.10$_NewQDJShieldCursorUPP', '$ld$hide$os10.10$_NewQDLineUPP',
'$ld$hide$os10.10$_NewQDOpcodeUPP', '$ld$hide$os10.10$_NewQDOvalUPP',
'$ld$hide$os10.10$_NewQDPolyUPP', '$ld$hide$os10.10$_NewQDPutPicUPP',
'$ld$hide$os10.10$_NewQDRRectUPP', '$ld$hide$os10.10$_NewQDRectUPP',
'$ld$hide$os10.10$_NewQDRgnUPP', '$ld$hide$os10.10$_NewQDStdGlyphsUPP',
'$ld$hide$os10.10$_NewQDTextUPP', '$ld$hide$os10.10$_NewQDTxMeasUPP',
'$ld$hide$os10.10$_NewRecordColorsUPP', '$ld$hide$os10.10$_NewRegionToRectsUPP',
'$ld$hide$os10.10$_NewStyleRunDirectionUPP', '$ld$hide$os10.10$_Pt2Rect',
'$ld$hide$os10.10$_PtToAngle', '$ld$hide$os10.10$_QDAssureCompatibleRegionFormat',
'$ld$hide$os10.10$_QDAssureNativeRegionFormat', '$ld$hide$os10.10$_QDAssureNewRegionFormat',
'$ld$hide$os10.10$_QDDebugDumpRegion', '$ld$hide$os10.10$_QDNewCGPathFromQDRegion',
'$ld$hide$os10.10$_QDPlatformNativeRegionToMacRegion', '$ld$hide$os10.10$_RgnToHandle',
'$ld$hide$os10.10$_ScalePt', '$ld$hide$os10.10$_SetAntiAliasedTextEnabled',
'$ld$hide$os10.10$_SetEmptyRect', '$ld$hide$os10.10$_ShieldCursor',
'$ld$hide$os10.10$_SlopeFromAngle', '$ld$hide$os10.10$_XorRgn',
'$ld$hide$os10.11$_AddPt', '$ld$hide$os10.11$_ClipCGContextToRegion',
'$ld$hide$os10.11$_ConvertARGBToRGBA', '$ld$hide$os10.11$_CreateCGImageRefFromPixMaps',
'$ld$hide$os10.11$_DisposeCalcColorTableUPP', '$ld$hide$os10.11$_DisposeColorComplementUPP',
'$ld$hide$os10.11$_DisposeColorSearchUPP', '$ld$hide$os10.11$_DisposeDMComponentListIteratorUPP',
'$ld$hide$os10.11$_DisposeDMDisplayListIteratorUPP', '$ld$hide$os10.11$_DisposeDMDisplayModeListIteratorUPP',
'$ld$hide$os10.11$_DisposeDMExtendedNotificationUPP', '$ld$hide$os10.11$_DisposeDMNotificationUPP',
'$ld$hide$os10.11$_DisposeDMProfileListIteratorUPP', '$ld$hide$os10.11$_DisposeDeviceLoopDrawingUPP',
'$ld$hide$os10.11$_DisposeDisposeColorPickMethodUPP', '$ld$hide$os10.11$_DisposeDragGrayRgnUPP',
'$ld$hide$os10.11$_DisposeInitPickMethodUPP', '$ld$hide$os10.11$_DisposePixMap',
'$ld$hide$os10.11$_DisposeQDArcUPP', '$ld$hide$os10.11$_DisposeQDBitsUPP',
'$ld$hide$os10.11$_DisposeQDCommentUPP', '$ld$hide$os10.11$_DisposeQDGetPicUPP',
'$ld$hide$os10.11$_DisposeQDJShieldCursorUPP', '$ld$hide$os10.11$_DisposeQDLineUPP',
'$ld$hide$os10.11$_DisposeQDOpcodeUPP', '$ld$hide$os10.11$_DisposeQDOvalUPP',
'$ld$hide$os10.11$_DisposeQDPolyUPP', '$ld$hide$os10.11$_DisposeQDPutPicUPP',
'$ld$hide$os10.11$_DisposeQDRRectUPP', '$ld$hide$os10.11$_DisposeQDRectUPP',
'$ld$hide$os10.11$_DisposeQDRgnUPP', '$ld$hide$os10.11$_DisposeQDStdGlyphsUPP',
'$ld$hide$os10.11$_DisposeQDTextUPP', '$ld$hide$os10.11$_DisposeQDTxMeasUPP',
'$ld$hide$os10.11$_DisposeRGBA32ImageData', '$ld$hide$os10.11$_DisposeRecordColorsUPP',
'$ld$hide$os10.11$_DisposeRegionToRectsUPP', '$ld$hide$os10.11$_DisposeStyleRunDirectionUPP',
'$ld$hide$os10.11$_FMFontGetCGFontRefFromFontFamilyInstance',
'$ld$hide$os10.11$_GetCTSeed', '$ld$hide$os10.11$_GetPMBaseAddr',
'$ld$hide$os10.11$_GetPMRowBytes', '$ld$hide$os10.11$_GetPixBaseAddr',
'$ld$hide$os10.11$_HandleToRgn', '$ld$hide$os10.11$_InvokeCalcColorTableUPP',
'$ld$hide$os10.11$_InvokeColorComplementUPP', '$ld$hide$os10.11$_InvokeColorSearchUPP',
'$ld$hide$os10.11$_InvokeDMComponentListIteratorUPP', '$ld$hide$os10.11$_InvokeDMDisplayListIteratorUPP',
'$ld$hide$os10.11$_InvokeDMDisplayModeListIteratorUPP', '$ld$hide$os10.11$_InvokeDMExtendedNotificationUPP',
'$ld$hide$os10.11$_InvokeDMNotificationUPP', '$ld$hide$os10.11$_InvokeDMProfileListIteratorUPP',
'$ld$hide$os10.11$_InvokeDeviceLoopDrawingUPP', '$ld$hide$os10.11$_InvokeDisposeColorPickMethodUPP',
'$ld$hide$os10.11$_InvokeDragGrayRgnUPP', '$ld$hide$os10.11$_InvokeInitPickMethodUPP',
'$ld$hide$os10.11$_InvokeQDArcUPP', '$ld$hide$os10.11$_InvokeQDBitsUPP',
'$ld$hide$os10.11$_InvokeQDCommentUPP', '$ld$hide$os10.11$_InvokeQDGetPicUPP',
'$ld$hide$os10.11$_InvokeQDJShieldCursorUPP', '$ld$hide$os10.11$_InvokeQDLineUPP',
'$ld$hide$os10.11$_InvokeQDOpcodeUPP', '$ld$hide$os10.11$_InvokeQDOvalUPP',
'$ld$hide$os10.11$_InvokeQDPolyUPP', '$ld$hide$os10.11$_InvokeQDPutPicUPP',
'$ld$hide$os10.11$_InvokeQDRRectUPP', '$ld$hide$os10.11$_InvokeQDRectUPP',
'$ld$hide$os10.11$_InvokeQDRgnUPP', '$ld$hide$os10.11$_InvokeQDStdGlyphsUPP',
'$ld$hide$os10.11$_InvokeQDTextUPP', '$ld$hide$os10.11$_InvokeQDTxMeasUPP',
'$ld$hide$os10.11$_InvokeRecordColorsUPP', '$ld$hide$os10.11$_InvokeRegionToRectsUPP',
'$ld$hide$os10.11$_InvokeStyleRunDirectionUPP', '$ld$hide$os10.11$_IsAntiAliasedTextEnabled',
'$ld$hide$os10.11$_IsValidRgnHandle', '$ld$hide$os10.11$_LMGetFontFlag',
'$ld$hide$os10.11$_LMSetFontFlag', '$ld$hide$os10.11$_MapPt',
'$ld$hide$os10.11$_MapRect', '$ld$hide$os10.11$_MapRgn', '$ld$hide$os10.11$_NewCalcColorTableUPP',
'$ld$hide$os10.11$_NewColorComplementUPP', '$ld$hide$os10.11$_NewColorSearchUPP',
'$ld$hide$os10.11$_NewDMComponentListIteratorUPP', '$ld$hide$os10.11$_NewDMDisplayListIteratorUPP',
'$ld$hide$os10.11$_NewDMDisplayModeListIteratorUPP', '$ld$hide$os10.11$_NewDMExtendedNotificationUPP',
'$ld$hide$os10.11$_NewDMNotificationUPP', '$ld$hide$os10.11$_NewDMProfileListIteratorUPP',
'$ld$hide$os10.11$_NewDeviceLoopDrawingUPP', '$ld$hide$os10.11$_NewDisposeColorPickMethodUPP',
'$ld$hide$os10.11$_NewDragGrayRgnUPP', '$ld$hide$os10.11$_NewInitPickMethodUPP',
'$ld$hide$os10.11$_NewQDArcUPP', '$ld$hide$os10.11$_NewQDBitsUPP',
'$ld$hide$os10.11$_NewQDCommentUPP', '$ld$hide$os10.11$_NewQDGetPicUPP',
'$ld$hide$os10.11$_NewQDJShieldCursorUPP', '$ld$hide$os10.11$_NewQDLineUPP',
'$ld$hide$os10.11$_NewQDOpcodeUPP', '$ld$hide$os10.11$_NewQDOvalUPP',
'$ld$hide$os10.11$_NewQDPolyUPP', '$ld$hide$os10.11$_NewQDPutPicUPP',
'$ld$hide$os10.11$_NewQDRRectUPP', '$ld$hide$os10.11$_NewQDRectUPP',
'$ld$hide$os10.11$_NewQDRgnUPP', '$ld$hide$os10.11$_NewQDStdGlyphsUPP',
'$ld$hide$os10.11$_NewQDTextUPP', '$ld$hide$os10.11$_NewQDTxMeasUPP',
'$ld$hide$os10.11$_NewRecordColorsUPP', '$ld$hide$os10.11$_NewRegionToRectsUPP',
'$ld$hide$os10.11$_NewStyleRunDirectionUPP', '$ld$hide$os10.11$_Pt2Rect',
'$ld$hide$os10.11$_PtToAngle', '$ld$hide$os10.11$_QDAssureCompatibleRegionFormat',
'$ld$hide$os10.11$_QDAssureNativeRegionFormat', '$ld$hide$os10.11$_QDAssureNewRegionFormat',
'$ld$hide$os10.11$_QDDebugDumpRegion', '$ld$hide$os10.11$_QDNewCGPathFromQDRegion',
'$ld$hide$os10.11$_QDPlatformNativeRegionToMacRegion', '$ld$hide$os10.11$_RgnToHandle',
'$ld$hide$os10.11$_ScalePt', '$ld$hide$os10.11$_SetAntiAliasedTextEnabled',
'$ld$hide$os10.11$_SetEmptyRect', '$ld$hide$os10.11$_ShieldCursor',
'$ld$hide$os10.11$_SlopeFromAngle', '$ld$hide$os10.11$_XorRgn',
'$ld$hide$os10.12$_AddPt', '$ld$hide$os10.12$_ClipCGContextToRegion',
'$ld$hide$os10.12$_ConvertARGBToRGBA', '$ld$hide$os10.12$_CreateCGImageRefFromPixMaps',
'$ld$hide$os10.12$_DisposeCalcColorTableUPP', '$ld$hide$os10.12$_DisposeColorComplementUPP',
'$ld$hide$os10.12$_DisposeColorSearchUPP', '$ld$hide$os10.12$_DisposeDMComponentListIteratorUPP',
'$ld$hide$os10.12$_DisposeDMDisplayListIteratorUPP', '$ld$hide$os10.12$_DisposeDMDisplayModeListIteratorUPP',
'$ld$hide$os10.12$_DisposeDMExtendedNotificationUPP', '$ld$hide$os10.12$_DisposeDMNotificationUPP',
'$ld$hide$os10.12$_DisposeDMProfileListIteratorUPP', '$ld$hide$os10.12$_DisposeDeviceLoopDrawingUPP',
'$ld$hide$os10.12$_DisposeDisposeColorPickMethodUPP', '$ld$hide$os10.12$_DisposeDragGrayRgnUPP',
'$ld$hide$os10.12$_DisposeInitPickMethodUPP', '$ld$hide$os10.12$_DisposePixMap',
'$ld$hide$os10.12$_DisposeQDArcUPP', '$ld$hide$os10.12$_DisposeQDBitsUPP',
'$ld$hide$os10.12$_DisposeQDCommentUPP', '$ld$hide$os10.12$_DisposeQDGetPicUPP',
'$ld$hide$os10.12$_DisposeQDJShieldCursorUPP', '$ld$hide$os10.12$_DisposeQDLineUPP',
'$ld$hide$os10.12$_DisposeQDOpcodeUPP', '$ld$hide$os10.12$_DisposeQDOvalUPP',
'$ld$hide$os10.12$_DisposeQDPolyUPP', '$ld$hide$os10.12$_DisposeQDPutPicUPP',
'$ld$hide$os10.12$_DisposeQDRRectUPP', '$ld$hide$os10.12$_DisposeQDRectUPP',
'$ld$hide$os10.12$_DisposeQDRgnUPP', '$ld$hide$os10.12$_DisposeQDStdGlyphsUPP',
'$ld$hide$os10.12$_DisposeQDTextUPP', '$ld$hide$os10.12$_DisposeQDTxMeasUPP',
'$ld$hide$os10.12$_DisposeRGBA32ImageData', '$ld$hide$os10.12$_DisposeRecordColorsUPP',
'$ld$hide$os10.12$_DisposeRegionToRectsUPP', '$ld$hide$os10.12$_DisposeStyleRunDirectionUPP',
'$ld$hide$os10.12$_FMFontGetCGFontRefFromFontFamilyInstance',
'$ld$hide$os10.12$_GetCTSeed', '$ld$hide$os10.12$_GetPMBaseAddr',
'$ld$hide$os10.12$_GetPMRowBytes', '$ld$hide$os10.12$_GetPixBaseAddr',
'$ld$hide$os10.12$_HandleToRgn', '$ld$hide$os10.12$_InvokeCalcColorTableUPP',
'$ld$hide$os10.12$_InvokeColorComplementUPP', '$ld$hide$os10.12$_InvokeColorSearchUPP',
'$ld$hide$os10.12$_InvokeDMComponentListIteratorUPP', '$ld$hide$os10.12$_InvokeDMDisplayListIteratorUPP',
'$ld$hide$os10.12$_InvokeDMDisplayModeListIteratorUPP', '$ld$hide$os10.12$_InvokeDMExtendedNotificationUPP',
'$ld$hide$os10.12$_InvokeDMNotificationUPP', '$ld$hide$os10.12$_InvokeDMProfileListIteratorUPP',
'$ld$hide$os10.12$_InvokeDeviceLoopDrawingUPP', '$ld$hide$os10.12$_InvokeDisposeColorPickMethodUPP',
'$ld$hide$os10.12$_InvokeDragGrayRgnUPP', '$ld$hide$os10.12$_InvokeInitPickMethodUPP',
'$ld$hide$os10.12$_InvokeQDArcUPP', '$ld$hide$os10.12$_InvokeQDBitsUPP',
'$ld$hide$os10.12$_InvokeQDCommentUPP', '$ld$hide$os10.12$_InvokeQDGetPicUPP',
'$ld$hide$os10.12$_InvokeQDJShieldCursorUPP', '$ld$hide$os10.12$_InvokeQDLineUPP',
'$ld$hide$os10.12$_InvokeQDOpcodeUPP', '$ld$hide$os10.12$_InvokeQDOvalUPP',
'$ld$hide$os10.12$_InvokeQDPolyUPP', '$ld$hide$os10.12$_InvokeQDPutPicUPP',
'$ld$hide$os10.12$_InvokeQDRRectUPP', '$ld$hide$os10.12$_InvokeQDRectUPP',
'$ld$hide$os10.12$_InvokeQDRgnUPP', '$ld$hide$os10.12$_InvokeQDStdGlyphsUPP',
'$ld$hide$os10.12$_InvokeQDTextUPP', '$ld$hide$os10.12$_InvokeQDTxMeasUPP',
'$ld$hide$os10.12$_InvokeRecordColorsUPP', '$ld$hide$os10.12$_InvokeRegionToRectsUPP',
'$ld$hide$os10.12$_InvokeStyleRunDirectionUPP', '$ld$hide$os10.12$_IsAntiAliasedTextEnabled',
'$ld$hide$os10.12$_IsValidRgnHandle', '$ld$hide$os10.12$_LMGetFontFlag',
'$ld$hide$os10.12$_LMSetFontFlag', '$ld$hide$os10.12$_MapPt',
'$ld$hide$os10.12$_MapRect', '$ld$hide$os10.12$_MapRgn', '$ld$hide$os10.12$_NewCalcColorTableUPP',
'$ld$hide$os10.12$_NewColorComplementUPP', '$ld$hide$os10.12$_NewColorSearchUPP',
'$ld$hide$os10.12$_NewDMComponentListIteratorUPP', '$ld$hide$os10.12$_NewDMDisplayListIteratorUPP',
'$ld$hide$os10.12$_NewDMDisplayModeListIteratorUPP', '$ld$hide$os10.12$_NewDMExtendedNotificationUPP',
'$ld$hide$os10.12$_NewDMNotificationUPP', '$ld$hide$os10.12$_NewDMProfileListIteratorUPP',
'$ld$hide$os10.12$_NewDeviceLoopDrawingUPP', '$ld$hide$os10.12$_NewDisposeColorPickMethodUPP',
'$ld$hide$os10.12$_NewDragGrayRgnUPP', '$ld$hide$os10.12$_NewInitPickMethodUPP',
'$ld$hide$os10.12$_NewQDArcUPP', '$ld$hide$os10.12$_NewQDBitsUPP',
'$ld$hide$os10.12$_NewQDCommentUPP', '$ld$hide$os10.12$_NewQDGetPicUPP',
'$ld$hide$os10.12$_NewQDJShieldCursorUPP', '$ld$hide$os10.12$_NewQDLineUPP',
'$ld$hide$os10.12$_NewQDOpcodeUPP', '$ld$hide$os10.12$_NewQDOvalUPP',
'$ld$hide$os10.12$_NewQDPolyUPP', '$ld$hide$os10.12$_NewQDPutPicUPP',
'$ld$hide$os10.12$_NewQDRRectUPP', '$ld$hide$os10.12$_NewQDRectUPP',
'$ld$hide$os10.12$_NewQDRgnUPP', '$ld$hide$os10.12$_NewQDStdGlyphsUPP',
'$ld$hide$os10.12$_NewQDTextUPP', '$ld$hide$os10.12$_NewQDTxMeasUPP',
'$ld$hide$os10.12$_NewRecordColorsUPP', '$ld$hide$os10.12$_NewRegionToRectsUPP',
'$ld$hide$os10.12$_NewStyleRunDirectionUPP', '$ld$hide$os10.12$_Pt2Rect',
'$ld$hide$os10.12$_PtToAngle', '$ld$hide$os10.12$_QDAssureCompatibleRegionFormat',
'$ld$hide$os10.12$_QDAssureNativeRegionFormat', '$ld$hide$os10.12$_QDAssureNewRegionFormat',
'$ld$hide$os10.12$_QDDebugDumpRegion', '$ld$hide$os10.12$_QDNewCGPathFromQDRegion',
'$ld$hide$os10.12$_QDPlatformNativeRegionToMacRegion', '$ld$hide$os10.12$_RgnToHandle',
'$ld$hide$os10.12$_ScalePt', '$ld$hide$os10.12$_SetAntiAliasedTextEnabled',
'$ld$hide$os10.12$_SetEmptyRect', '$ld$hide$os10.12$_ShieldCursor',
'$ld$hide$os10.12$_SlopeFromAngle', '$ld$hide$os10.12$_XorRgn',
'$ld$hide$os10.13$_AddPt', '$ld$hide$os10.13$_ClipCGContextToRegion',
'$ld$hide$os10.13$_ConvertARGBToRGBA', '$ld$hide$os10.13$_CreateCGImageRefFromPixMaps',
'$ld$hide$os10.13$_DisposeCalcColorTableUPP', '$ld$hide$os10.13$_DisposeColorComplementUPP',
'$ld$hide$os10.13$_DisposeColorSearchUPP', '$ld$hide$os10.13$_DisposeDMComponentListIteratorUPP',
'$ld$hide$os10.13$_DisposeDMDisplayListIteratorUPP', '$ld$hide$os10.13$_DisposeDMDisplayModeListIteratorUPP',
'$ld$hide$os10.13$_DisposeDMExtendedNotificationUPP', '$ld$hide$os10.13$_DisposeDMNotificationUPP',
'$ld$hide$os10.13$_DisposeDMProfileListIteratorUPP', '$ld$hide$os10.13$_DisposeDeviceLoopDrawingUPP',
'$ld$hide$os10.13$_DisposeDisposeColorPickMethodUPP', '$ld$hide$os10.13$_DisposeDragGrayRgnUPP',
'$ld$hide$os10.13$_DisposeInitPickMethodUPP', '$ld$hide$os10.13$_DisposePixMap',
'$ld$hide$os10.13$_DisposeQDArcUPP', '$ld$hide$os10.13$_DisposeQDBitsUPP',
'$ld$hide$os10.13$_DisposeQDCommentUPP', '$ld$hide$os10.13$_DisposeQDGetPicUPP',
'$ld$hide$os10.13$_DisposeQDJShieldCursorUPP', '$ld$hide$os10.13$_DisposeQDLineUPP',
'$ld$hide$os10.13$_DisposeQDOpcodeUPP', '$ld$hide$os10.13$_DisposeQDOvalUPP',
'$ld$hide$os10.13$_DisposeQDPolyUPP', '$ld$hide$os10.13$_DisposeQDPutPicUPP',
'$ld$hide$os10.13$_DisposeQDRRectUPP', '$ld$hide$os10.13$_DisposeQDRectUPP',
'$ld$hide$os10.13$_DisposeQDRgnUPP', '$ld$hide$os10.13$_DisposeQDStdGlyphsUPP',
'$ld$hide$os10.13$_DisposeQDTextUPP', '$ld$hide$os10.13$_DisposeQDTxMeasUPP',
'$ld$hide$os10.13$_DisposeRGBA32ImageData', '$ld$hide$os10.13$_DisposeRecordColorsUPP',
'$ld$hide$os10.13$_DisposeRegionToRectsUPP', '$ld$hide$os10.13$_DisposeStyleRunDirectionUPP',
'$ld$hide$os10.13$_FMFontGetCGFontRefFromFontFamilyInstance',
'$ld$hide$os10.13$_GetCTSeed', '$ld$hide$os10.13$_GetPMBaseAddr',
'$ld$hide$os10.13$_GetPMRowBytes', '$ld$hide$os10.13$_GetPixBaseAddr',
'$ld$hide$os10.13$_HandleToRgn', '$ld$hide$os10.13$_InvokeCalcColorTableUPP',
'$ld$hide$os10.13$_InvokeColorComplementUPP', '$ld$hide$os10.13$_InvokeColorSearchUPP',
'$ld$hide$os10.13$_InvokeDMComponentListIteratorUPP', '$ld$hide$os10.13$_InvokeDMDisplayListIteratorUPP',
'$ld$hide$os10.13$_InvokeDMDisplayModeListIteratorUPP', '$ld$hide$os10.13$_InvokeDMExtendedNotificationUPP',
'$ld$hide$os10.13$_InvokeDMNotificationUPP', '$ld$hide$os10.13$_InvokeDMProfileListIteratorUPP',
'$ld$hide$os10.13$_InvokeDeviceLoopDrawingUPP', '$ld$hide$os10.13$_InvokeDisposeColorPickMethodUPP',
'$ld$hide$os10.13$_InvokeDragGrayRgnUPP', '$ld$hide$os10.13$_InvokeInitPickMethodUPP',
'$ld$hide$os10.13$_InvokeQDArcUPP', '$ld$hide$os10.13$_InvokeQDBitsUPP',
'$ld$hide$os10.13$_InvokeQDCommentUPP', '$ld$hide$os10.13$_InvokeQDGetPicUPP',
'$ld$hide$os10.13$_InvokeQDJShieldCursorUPP', '$ld$hide$os10.13$_InvokeQDLineUPP',
'$ld$hide$os10.13$_InvokeQDOpcodeUPP', '$ld$hide$os10.13$_InvokeQDOvalUPP',
'$ld$hide$os10.13$_InvokeQDPolyUPP', '$ld$hide$os10.13$_InvokeQDPutPicUPP',
'$ld$hide$os10.13$_InvokeQDRRectUPP', '$ld$hide$os10.13$_InvokeQDRectUPP',
'$ld$hide$os10.13$_InvokeQDRgnUPP', '$ld$hide$os10.13$_InvokeQDStdGlyphsUPP',
'$ld$hide$os10.13$_InvokeQDTextUPP', '$ld$hide$os10.13$_InvokeQDTxMeasUPP',
'$ld$hide$os10.13$_InvokeRecordColorsUPP', '$ld$hide$os10.13$_InvokeRegionToRectsUPP',
'$ld$hide$os10.13$_InvokeStyleRunDirectionUPP', '$ld$hide$os10.13$_IsAntiAliasedTextEnabled',
'$ld$hide$os10.13$_IsValidRgnHandle', '$ld$hide$os10.13$_LMGetFontFlag',
'$ld$hide$os10.13$_LMSetFontFlag', '$ld$hide$os10.13$_MapPt',
'$ld$hide$os10.13$_MapRect', '$ld$hide$os10.13$_MapRgn', '$ld$hide$os10.13$_NewCalcColorTableUPP',
'$ld$hide$os10.13$_NewColorComplementUPP', '$ld$hide$os10.13$_NewColorSearchUPP',
'$ld$hide$os10.13$_NewDMComponentListIteratorUPP', '$ld$hide$os10.13$_NewDMDisplayListIteratorUPP',
'$ld$hide$os10.13$_NewDMDisplayModeListIteratorUPP', '$ld$hide$os10.13$_NewDMExtendedNotificationUPP',
'$ld$hide$os10.13$_NewDMNotificationUPP', '$ld$hide$os10.13$_NewDMProfileListIteratorUPP',
'$ld$hide$os10.13$_NewDeviceLoopDrawingUPP', '$ld$hide$os10.13$_NewDisposeColorPickMethodUPP',
'$ld$hide$os10.13$_NewDragGrayRgnUPP', '$ld$hide$os10.13$_NewInitPickMethodUPP',
'$ld$hide$os10.13$_NewQDArcUPP', '$ld$hide$os10.13$_NewQDBitsUPP',
'$ld$hide$os10.13$_NewQDCommentUPP', '$ld$hide$os10.13$_NewQDGetPicUPP',
'$ld$hide$os10.13$_NewQDJShieldCursorUPP', '$ld$hide$os10.13$_NewQDLineUPP',
'$ld$hide$os10.13$_NewQDOpcodeUPP', '$ld$hide$os10.13$_NewQDOvalUPP',
'$ld$hide$os10.13$_NewQDPolyUPP', '$ld$hide$os10.13$_NewQDPutPicUPP',
'$ld$hide$os10.13$_NewQDRRectUPP', '$ld$hide$os10.13$_NewQDRectUPP',
'$ld$hide$os10.13$_NewQDRgnUPP', '$ld$hide$os10.13$_NewQDStdGlyphsUPP',
'$ld$hide$os10.13$_NewQDTextUPP', '$ld$hide$os10.13$_NewQDTxMeasUPP',
'$ld$hide$os10.13$_NewRecordColorsUPP', '$ld$hide$os10.13$_NewRegionToRectsUPP',
'$ld$hide$os10.13$_NewStyleRunDirectionUPP', '$ld$hide$os10.13$_Pt2Rect',
'$ld$hide$os10.13$_PtToAngle', '$ld$hide$os10.13$_QDAssureCompatibleRegionFormat',
'$ld$hide$os10.13$_QDAssureNativeRegionFormat', '$ld$hide$os10.13$_QDAssureNewRegionFormat',
'$ld$hide$os10.13$_QDDebugDumpRegion', '$ld$hide$os10.13$_QDNewCGPathFromQDRegion',
'$ld$hide$os10.13$_QDPlatformNativeRegionToMacRegion', '$ld$hide$os10.13$_RgnToHandle',
'$ld$hide$os10.13$_ScalePt', '$ld$hide$os10.13$_SetAntiAliasedTextEnabled',
'$ld$hide$os10.13$_SetEmptyRect', '$ld$hide$os10.13$_ShieldCursor',
'$ld$hide$os10.13$_SlopeFromAngle', '$ld$hide$os10.13$_XorRgn',
'$ld$hide$os10.9$_AddPt', '$ld$hide$os10.9$_ClipCGContextToRegion',
'$ld$hide$os10.9$_ConvertARGBToRGBA', '$ld$hide$os10.9$_CreateCGImageRefFromPixMaps',
'$ld$hide$os10.9$_DisposeCalcColorTableUPP', '$ld$hide$os10.9$_DisposeColorComplementUPP',
'$ld$hide$os10.9$_DisposeColorSearchUPP', '$ld$hide$os10.9$_DisposeDMComponentListIteratorUPP',
'$ld$hide$os10.9$_DisposeDMDisplayListIteratorUPP', '$ld$hide$os10.9$_DisposeDMDisplayModeListIteratorUPP',
'$ld$hide$os10.9$_DisposeDMExtendedNotificationUPP', '$ld$hide$os10.9$_DisposeDMNotificationUPP',
'$ld$hide$os10.9$_DisposeDMProfileListIteratorUPP', '$ld$hide$os10.9$_DisposeDeviceLoopDrawingUPP',
'$ld$hide$os10.9$_DisposeDisposeColorPickMethodUPP', '$ld$hide$os10.9$_DisposeDragGrayRgnUPP',
'$ld$hide$os10.9$_DisposeInitPickMethodUPP', '$ld$hide$os10.9$_DisposePixMap',
'$ld$hide$os10.9$_DisposeQDArcUPP', '$ld$hide$os10.9$_DisposeQDBitsUPP',
'$ld$hide$os10.9$_DisposeQDCommentUPP', '$ld$hide$os10.9$_DisposeQDGetPicUPP',
'$ld$hide$os10.9$_DisposeQDJShieldCursorUPP', '$ld$hide$os10.9$_DisposeQDLineUPP',
'$ld$hide$os10.9$_DisposeQDOpcodeUPP', '$ld$hide$os10.9$_DisposeQDOvalUPP',
'$ld$hide$os10.9$_DisposeQDPolyUPP', '$ld$hide$os10.9$_DisposeQDPutPicUPP',
'$ld$hide$os10.9$_DisposeQDRRectUPP', '$ld$hide$os10.9$_DisposeQDRectUPP',
'$ld$hide$os10.9$_DisposeQDRgnUPP', '$ld$hide$os10.9$_DisposeQDStdGlyphsUPP',
'$ld$hide$os10.9$_DisposeQDTextUPP', '$ld$hide$os10.9$_DisposeQDTxMeasUPP',
'$ld$hide$os10.9$_DisposeRGBA32ImageData', '$ld$hide$os10.9$_DisposeRecordColorsUPP',
'$ld$hide$os10.9$_DisposeRegionToRectsUPP', '$ld$hide$os10.9$_DisposeStyleRunDirectionUPP',
'$ld$hide$os10.9$_FMFontGetCGFontRefFromFontFamilyInstance',
'$ld$hide$os10.9$_GetCTSeed', '$ld$hide$os10.9$_GetPMBaseAddr',
'$ld$hide$os10.9$_GetPMRowBytes', '$ld$hide$os10.9$_GetPixBaseAddr',
'$ld$hide$os10.9$_HandleToRgn', '$ld$hide$os10.9$_InvokeCalcColorTableUPP',
'$ld$hide$os10.9$_InvokeColorComplementUPP', '$ld$hide$os10.9$_InvokeColorSearchUPP',
'$ld$hide$os10.9$_InvokeDMComponentListIteratorUPP', '$ld$hide$os10.9$_InvokeDMDisplayListIteratorUPP',
'$ld$hide$os10.9$_InvokeDMDisplayModeListIteratorUPP', '$ld$hide$os10.9$_InvokeDMExtendedNotificationUPP',
'$ld$hide$os10.9$_InvokeDMNotificationUPP', '$ld$hide$os10.9$_InvokeDMProfileListIteratorUPP',
'$ld$hide$os10.9$_InvokeDeviceLoopDrawingUPP', '$ld$hide$os10.9$_InvokeDisposeColorPickMethodUPP',
'$ld$hide$os10.9$_InvokeDragGrayRgnUPP', '$ld$hide$os10.9$_InvokeInitPickMethodUPP',
'$ld$hide$os10.9$_InvokeQDArcUPP', '$ld$hide$os10.9$_InvokeQDBitsUPP',
'$ld$hide$os10.9$_InvokeQDCommentUPP', '$ld$hide$os10.9$_InvokeQDGetPicUPP',
'$ld$hide$os10.9$_InvokeQDJShieldCursorUPP', '$ld$hide$os10.9$_InvokeQDLineUPP',
'$ld$hide$os10.9$_InvokeQDOpcodeUPP', '$ld$hide$os10.9$_InvokeQDOvalUPP',
'$ld$hide$os10.9$_InvokeQDPolyUPP', '$ld$hide$os10.9$_InvokeQDPutPicUPP',
'$ld$hide$os10.9$_InvokeQDRRectUPP', '$ld$hide$os10.9$_InvokeQDRectUPP',
'$ld$hide$os10.9$_InvokeQDRgnUPP', '$ld$hide$os10.9$_InvokeQDStdGlyphsUPP',
'$ld$hide$os10.9$_InvokeQDTextUPP', '$ld$hide$os10.9$_InvokeQDTxMeasUPP',
'$ld$hide$os10.9$_InvokeRecordColorsUPP', '$ld$hide$os10.9$_InvokeRegionToRectsUPP',
'$ld$hide$os10.9$_InvokeStyleRunDirectionUPP', '$ld$hide$os10.9$_IsAntiAliasedTextEnabled',
'$ld$hide$os10.9$_IsValidRgnHandle', '$ld$hide$os10.9$_LMGetFontFlag',
'$ld$hide$os10.9$_LMSetFontFlag', '$ld$hide$os10.9$_MapPt',
'$ld$hide$os10.9$_MapRect', '$ld$hide$os10.9$_MapRgn', '$ld$hide$os10.9$_NewCalcColorTableUPP',
'$ld$hide$os10.9$_NewColorComplementUPP', '$ld$hide$os10.9$_NewColorSearchUPP',
'$ld$hide$os10.9$_NewDMComponentListIteratorUPP', '$ld$hide$os10.9$_NewDMDisplayListIteratorUPP',
'$ld$hide$os10.9$_NewDMDisplayModeListIteratorUPP', '$ld$hide$os10.9$_NewDMExtendedNotificationUPP',
'$ld$hide$os10.9$_NewDMNotificationUPP', '$ld$hide$os10.9$_NewDMProfileListIteratorUPP',
'$ld$hide$os10.9$_NewDeviceLoopDrawingUPP', '$ld$hide$os10.9$_NewDisposeColorPickMethodUPP',
'$ld$hide$os10.9$_NewDragGrayRgnUPP', '$ld$hide$os10.9$_NewInitPickMethodUPP',
'$ld$hide$os10.9$_NewQDArcUPP', '$ld$hide$os10.9$_NewQDBitsUPP',
'$ld$hide$os10.9$_NewQDCommentUPP', '$ld$hide$os10.9$_NewQDGetPicUPP',
'$ld$hide$os10.9$_NewQDJShieldCursorUPP', '$ld$hide$os10.9$_NewQDLineUPP',
'$ld$hide$os10.9$_NewQDOpcodeUPP', '$ld$hide$os10.9$_NewQDOvalUPP',
'$ld$hide$os10.9$_NewQDPolyUPP', '$ld$hide$os10.9$_NewQDPutPicUPP',
'$ld$hide$os10.9$_NewQDRRectUPP', '$ld$hide$os10.9$_NewQDRectUPP',
'$ld$hide$os10.9$_NewQDRgnUPP', '$ld$hide$os10.9$_NewQDStdGlyphsUPP',
'$ld$hide$os10.9$_NewQDTextUPP', '$ld$hide$os10.9$_NewQDTxMeasUPP',
'$ld$hide$os10.9$_NewRecordColorsUPP', '$ld$hide$os10.9$_NewRegionToRectsUPP',
'$ld$hide$os10.9$_NewStyleRunDirectionUPP', '$ld$hide$os10.9$_Pt2Rect',
'$ld$hide$os10.9$_PtToAngle', '$ld$hide$os10.9$_QDAssureCompatibleRegionFormat',
'$ld$hide$os10.9$_QDAssureNativeRegionFormat', '$ld$hide$os10.9$_QDAssureNewRegionFormat',
'$ld$hide$os10.9$_QDDebugDumpRegion', '$ld$hide$os10.9$_QDNewCGPathFromQDRegion',
'$ld$hide$os10.9$_QDPlatformNativeRegionToMacRegion', '$ld$hide$os10.9$_RgnToHandle',
'$ld$hide$os10.9$_ScalePt', '$ld$hide$os10.9$_SetAntiAliasedTextEnabled',
'$ld$hide$os10.9$_SetEmptyRect', '$ld$hide$os10.9$_ShieldCursor',
'$ld$hide$os10.9$_SlopeFromAngle', '$ld$hide$os10.9$_XorRgn',
_AddPt, _AngleFromSlope, _BitMapToRegion, _ClipCGContextToRegion,
_ConvertARGBToRGBA, _CopyRgn, _CreateCGImageRefFromPixMaps,
_CreateRGBA32FromPixMaps, _DiffRgn, _DisposeCalcColorTableUPP,
_DisposeColorComplementUPP, _DisposeColorSearchUPP, _DisposeDMComponentListIteratorUPP,
_DisposeDMDisplayListIteratorUPP, _DisposeDMDisplayModeListIteratorUPP,
_DisposeDMExtendedNotificationUPP, _DisposeDMNotificationUPP,
_DisposeDMProfileListIteratorUPP, _DisposeDeviceLoopDrawingUPP,
_DisposeDisposeColorPickMethodUPP, _DisposeDragGrayRgnUPP,
_DisposeInitPickMethodUPP, _DisposePixMap, _DisposePixPat,
_DisposeQDArcUPP, _DisposeQDBitsUPP, _DisposeQDCommentUPP,
_DisposeQDGetPicUPP, _DisposeQDJShieldCursorUPP, _DisposeQDLineUPP,
_DisposeQDOpcodeUPP, _DisposeQDOvalUPP, _DisposeQDPolyUPP,
_DisposeQDPutPicUPP, _DisposeQDRRectUPP, _DisposeQDRectUPP,
_DisposeQDRgnUPP, _DisposeQDStdGlyphsUPP, _DisposeQDTextUPP,
_DisposeQDTxMeasUPP, _DisposeRGBA32ImageData, _DisposeRecordColorsUPP,
_DisposeRegionToRectsUPP, _DisposeRgn, _DisposeStyleRunDirectionUPP,
_EmptyRect, _EmptyRgn, _EqualPt, _EqualRect, _EqualRgn, _FMFontGetCGFontRefFromFontFamilyInstance,
_FMGetATSFontFamilyRefFromFontFamily, _FMGetATSFontRefFromFont,
_FMGetFontFamilyFromATSFontFamilyRef, _FMGetFontFromATSFontRef,
_GetCGSConnectionID, _GetCTSeed, _GetCTable, _GetPMBaseAddr,
_GetPMRowBytes, _GetPixBaseAddr, _GetRegionBounds, _HandleToRgn,
_HideCursor, _InitCursor, _InsetRect, _InsetRgn, _InvokeCalcColorTableUPP,
_InvokeColorComplementUPP, _InvokeColorSearchUPP, _InvokeDMComponentListIteratorUPP,
_InvokeDMDisplayListIteratorUPP, _InvokeDMDisplayModeListIteratorUPP,
_InvokeDMExtendedNotificationUPP, _InvokeDMNotificationUPP,
_InvokeDMProfileListIteratorUPP, _InvokeDeviceLoopDrawingUPP,
_InvokeDisposeColorPickMethodUPP, _InvokeDragGrayRgnUPP, _InvokeInitPickMethodUPP,
_InvokeQDArcUPP, _InvokeQDBitsUPP, _InvokeQDCommentUPP, _InvokeQDGetPicUPP,
_InvokeQDJShieldCursorUPP, _InvokeQDLineUPP, _InvokeQDOpcodeUPP,
_InvokeQDOvalUPP, _InvokeQDPolyUPP, _InvokeQDPutPicUPP, _InvokeQDRRectUPP,
_InvokeQDRectUPP, _InvokeQDRgnUPP, _InvokeQDStdGlyphsUPP,
_InvokeQDTextUPP, _InvokeQDTxMeasUPP, _InvokeRecordColorsUPP,
_InvokeRegionToRectsUPP, _InvokeStyleRunDirectionUPP, _IsAntiAliasedTextEnabled,
_IsRegionRectangular, _IsValidRgnHandle, _LMGetFontFlag, _LMSetFontFlag,
_MacRegionToNativeRegion, _MapPt, _MapRect, _MapRgn, _NativeRegionToMacRegion,
_NewCalcColorTableUPP, _NewColorComplementUPP, _NewColorSearchUPP,
_NewDMComponentListIteratorUPP, _NewDMDisplayListIteratorUPP,
_NewDMDisplayModeListIteratorUPP, _NewDMExtendedNotificationUPP,
_NewDMNotificationUPP, _NewDMProfileListIteratorUPP, _NewDeviceLoopDrawingUPP,
_NewDisposeColorPickMethodUPP, _NewDragGrayRgnUPP, _NewInitPickMethodUPP,
_NewQDArcUPP, _NewQDBitsUPP, _NewQDCommentUPP, _NewQDGetPicUPP,
_NewQDJShieldCursorUPP, _NewQDLineUPP, _NewQDOpcodeUPP, _NewQDOvalUPP,
_NewQDPolyUPP, _NewQDPutPicUPP, _NewQDRRectUPP, _NewQDRectUPP,
_NewQDRgnUPP, _NewQDStdGlyphsUPP, _NewQDTextUPP, _NewQDTxMeasUPP,
_NewRecordColorsUPP, _NewRegionToRectsUPP, _NewRgn, _NewStyleRunDirectionUPP,
_ObscureCursor, _OffsetRect, _OffsetRgn, _Pt2Rect, _PtInRect,
_PtInRgn, _PtToAngle, _QDAssureCompatibleRegionFormat, _QDAssureNativeRegionFormat,
_QDAssureNewRegionFormat, _QDDebugDumpRegion, _QDGetCGDirectDisplayID,
_QDNewCGPathFromQDRegion, _QDPlatformMacRegionToNativeRegion,
_QDPlatformNativeRegionToMacRegion, _QDRegionToRects, _QDStencilListToRegion,
_QDUnflattenPixPat, _RectInRgn, _RectRgn, _RgnToHandle, _ScalePt,
_SectRect, _SectRgn, _SetAntiAliasedTextEnabled, _SetEmptyRect,
_SetEmptyRgn, _SetPt, _SetRect, _SetRectRgn, _ShieldCursor,
_ShowCursor, _SlopeFromAngle, _SubPt, _UnionRect, _UnionRgn,
_XorRgn ]
--- !tapi-tbd
tbd-version: 4
targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
uuids:
- target: x86_64-macos
value: F04921AB-73D9-3E0E-973F-83EE84F09C4B
- target: arm64-macos
value: 00000000-0000-0000-0000-000000000000
- target: arm64e-macos
value: 7B9808EE-00FD-3F04-8035-E6F784C95611
install-name: '/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATSUI.framework/Versions/A/ATSUI'
parent-umbrella:
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
umbrella: ApplicationServices
exports:
- targets: [ x86_64-macos, arm64e-macos, arm64-macos ]
symbols: [ _ATSApplyMorph, _ATSClearGlyphVector, _ATSGrowGlyphVector,
_ATSInitializeGlyphVector, _ATSUBatchBreakLines, _ATSUBreakLine,
_ATSUClearAttributes, _ATSUClearFontFeatures, _ATSUClearFontVariations,
_ATSUClearLayoutCache, _ATSUClearLayoutControls, _ATSUClearLineControls,
_ATSUClearSoftLineBreaks, _ATSUClearStyle, _ATSUCompareStyles,
_ATSUConvertCharToGlyphs, _ATSUCopyAttributes, _ATSUCopyLayoutControls,
_ATSUCopyLineControls, _ATSUCountFontFeatureSelectors, _ATSUCountFontFeatureTypes,
_ATSUCountFontInstances, _ATSUCountFontNames, _ATSUCountFontVariations,
_ATSUCreateAndCopyStyle, _ATSUCreateAndCopyTextLayout, _ATSUCreateFontFallbacks,
_ATSUCreateStyle, _ATSUCreateTextLayout, _ATSUCreateTextLayoutWithTextPtr,
_ATSUDirectAddStyleSettingRef, _ATSUDirectGetLayoutDataArrayPtrFromLineRef,
_ATSUDirectGetLayoutDataArrayPtrFromTextLayout, _ATSUDirectReleaseLayoutDataArrayPtr,
_ATSUDisposeFontFallbacks, _ATSUDisposeStyle, _ATSUDisposeStyleGroup,
_ATSUDisposeTextLayout, _ATSUDrawText, _ATSUFONDtoFontID,
_ATSUFindFontFromName, _ATSUFindFontName, _ATSUFlattenStyleRunsToStream,
_ATSUFontCount, _ATSUFontIDtoFOND, _ATSUGetAllAttributes,
_ATSUGetAllFontFeatures, _ATSUGetAllFontVariations, _ATSUGetAllLayoutControls,
_ATSUGetAllLineControls, _ATSUGetAttribute, _ATSUGetContinuousAttributes,
_ATSUGetFontFeature, _ATSUGetFontFeatureNameCode, _ATSUGetFontFeatureSelectors,
_ATSUGetFontFeatureTypes, _ATSUGetFontIDs, _ATSUGetFontInstance,
_ATSUGetFontInstanceNameCode, _ATSUGetFontVariationNameCode,
_ATSUGetFontVariationValue, _ATSUGetGlyphBounds, _ATSUGetGlyphInfo,
_ATSUGetIndFontName, _ATSUGetIndFontVariation, _ATSUGetLayoutControl,
_ATSUGetLineControl, _ATSUGetNativeCurveType, _ATSUGetObjFontFallbacks,
_ATSUGetRunStyle, _ATSUGetSoftLineBreaks, _ATSUGetStyleGroup,
_ATSUGetStyleIndex, _ATSUGetStyleRefCon, _ATSUGetTabArray,
_ATSUGetTextLayoutRefCon, _ATSUGetTextLocation, _ATSUGetTransientFontMatching,
_ATSUGetUnjustifiedBounds, _ATSUGlyphGetCubicPaths, _ATSUGlyphGetCurvePaths,
_ATSUGlyphGetIdealMetrics, _ATSUGlyphGetQuadraticPaths, _ATSUGlyphGetScreenMetrics,
_ATSUHighlightInactiveText, _ATSUHighlightText, _ATSULeftwardCursorPosition,
_ATSULineBreakEngine, _ATSUMatchFontsToText, _ATSUMeasureTextImage,
_ATSUNextCursorPosition, _ATSUOffsetToCursorPosition, _ATSUOffsetToPosition,
_ATSUOverwriteAttributes, _ATSUPositionToCursorOffset, _ATSUPositionToOffset,
_ATSUPreviousCursorPosition, _ATSURightwardCursorPosition,
_ATSUSetAttributes, _ATSUSetFontFeatures, _ATSUSetHighlightingMethod,
_ATSUSetLayoutControls, _ATSUSetLineControls, _ATSUSetObjFontFallbacks,
_ATSUSetRunStyle, _ATSUSetSoftLineBreak, _ATSUSetStyleRefCon,
_ATSUSetTabArray, _ATSUSetTextLayoutRefCon, _ATSUSetTextPointerLocation,
_ATSUSetTransientFontMatching, _ATSUSetVariations, _ATSUStyleIsEmpty,
_ATSUTextDeleted, _ATSUTextInserted, _ATSUTextMoved, _ATSUUnderwriteAttributes,
_ATSUUnflattenStyleRunsFromStream, _ATSUUnhighlightText, _DisposeATSCubicClosePathUPP,
_DisposeATSCubicCurveToUPP, _DisposeATSCubicLineToUPP, _DisposeATSCubicMoveToUPP,
_DisposeATSQuadraticClosePathUPP, _DisposeATSQuadraticCurveUPP,
_DisposeATSQuadraticLineUPP, _DisposeATSQuadraticNewPathUPP,
_DisposeRedrawBackgroundUPP, _InvokeATSCubicClosePathUPP,
_InvokeATSCubicCurveToUPP, _InvokeATSCubicLineToUPP, _InvokeATSCubicMoveToUPP,
_InvokeATSQuadraticClosePathUPP, _InvokeATSQuadraticCurveUPP,
_InvokeATSQuadraticLineUPP, _InvokeATSQuadraticNewPathUPP,
_InvokeRedrawBackgroundUPP, _NewATSCubicClosePathUPP, _NewATSCubicCurveToUPP,
_NewATSCubicLineToUPP, _NewATSCubicMoveToUPP, _NewATSQuadraticClosePathUPP,
_NewATSQuadraticCurveUPP, _NewATSQuadraticLineUPP, _NewATSQuadraticNewPathUPP,
_NewRedrawBackgroundUPP ]
...

View File

@@ -0,0 +1,187 @@
--- !tapi-tbd
tbd-version: 4
targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
uuids:
- target: x86_64-macos
value: 71BCCEAC-2848-3448-948F-6180AEBAB877
- target: arm64-macos
value: 00000000-0000-0000-0000-000000000000
- target: arm64e-macos
value: 343FDD13-553F-3B5C-897A-D267C5E33DF3
install-name: '/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis'
parent-umbrella:
- targets: [ x86_64-macos, arm64-macos, arm64e-macos ]
umbrella: ApplicationServices
exports:
- targets: [ x86_64-macos, arm64e-macos, arm64-macos ]
symbols: [ _CancelSpokenNotification, _CancelSpokenNotificationForProcess,
_CancelTalkingAlert, _ContinueSpeech, _CopyAvailableIntervals,
_CopyAvailablePhrases, _CopyIdentifierStringForPreferredVoiceInListWithLocale,
_CopyIdentifierStringForPreferredVoiceWithLocale, _CopyIdentifierStringForVoiceSpec,
_CopyPhonemesFromText, _CopySpeechProperty, _CopySpeechSynthesisVoicesForMode,
_CopyTimeAnnouncementsPreferences, _CountVoices, _CreateSpeechLanguageLocale,
_DisposeSpeechChannel, _GetIdentifierStringForPreferredVoiceInListWithLocale,
_GetIdentifierStringForPreferredVoiceWithLocale, _GetIndVoice,
_GetSpeechInfo, _GetSpeechPitch, _GetSpeechRate, _GetVoiceDescription,
_GetVoiceInfo, _MakeVoiceSpec, _MakeVoiceSpecForIdentifierString,
_NewSpeechChannel, _PauseSpeechAt, _RegisterSpokenNotificationForProcess,
_RegisterTalkingAlertWithProperties, _SRSetSecurityFlags,
_SUAddAppPathToLoginStartupList, _SUCopyAXUIElementExceptionsDictionary,
_SUCopyKeyNamesPropertyList, _SUCopyPhraseArrayFromDisk, _SUIsMainBundleUsingEnglishLocalization,
_SUIsProcessUsingEnglishLocalization, _SUPostKeyCodeWithModifiers,
_SURemoveAppPathFromLoginStartupList, _SendMessageToSpeechSynthesisServer,
_SetSpeechInfo, _SetSpeechPitch, _SetSpeechProperty, _SetSpeechRate,
_SetTimeAnnouncementsPreferences, _SpeakBuffer, _SpeakCFString,
_SpeakString, _SpeakText, _SpeechBusy, _SpeechBusySystemWide,
_SpeechDaemonEnvironment, _SpeechDaemonSetLogging, _SpeechDaemonShutdown,
_SpeechManagerVersion, _SpeechSynthesisConsoleLogCFString,
_SpeechSynthesisConsoleLogTextBuffer, _SpeechSynthesisRegisterModuleURL,
_SpeechSynthesisUnregisterModuleURL, _SpokenNotificationsEnabled,
_SpokenNotificationsEnabledForProcess, _StopSpeech, _StopSpeechAt,
_TTSIsSpeakingSelection, _TTSStartSpeakingSelection, _TTSStartSpeakingSelectionWithString,
_TTSStopSpeakingSelection, _TalkingAlertsEnabled, _TextToPhonemes,
_UseDictionary, _UseSpeechDictionary, _kSpeechAudioDuckingEndPadding,
_kSpeechAudioDuckingFadeIn, _kSpeechAudioDuckingFadeOut, _kSpeechAudioDuckingProperty,
_kSpeechAudioDuckingValue, _kSpeechAudioGraphProperty, _kSpeechAudioOutputFormatProperty,
_kSpeechAudioUnitProperty, _kSpeechBlockTemporarilyProperty,
_kSpeechCharacterModeProperty, _kSpeechCommandDelimiterProperty,
_kSpeechCommandPrefix, _kSpeechCommandSuffix, _kSpeechCurrentVoiceProperty,
_kSpeechCustomVoiceProperty, _kSpeechDictionaryAbbreviations,
_kSpeechDictionaryEntryPhonemes, _kSpeechDictionaryEntrySpelling,
_kSpeechDictionaryLocaleIdentifier, _kSpeechDictionaryModificationDate,
_kSpeechDictionaryPronunciations, _kSpeechDiphoneLogProperty,
_kSpeechDiphoneOptionsProperty, _kSpeechDiphoneStatisticsProperty,
_kSpeechErrorCFCallBack, _kSpeechErrorCallBack, _kSpeechErrorCallbackCharacterOffset,
_kSpeechErrorCallbackSpokenString, _kSpeechErrorCount, _kSpeechErrorNewest,
_kSpeechErrorNewestCharacterOffset, _kSpeechErrorOldest, _kSpeechErrorOldestCharacterOffset,
_kSpeechErrorsProperty, _kSpeechInputModeProperty, _kSpeechLatencyCallBack,
_kSpeechModeLiteral, _kSpeechModeNormal, _kSpeechModePhoneme,
_kSpeechModeText, _kSpeechModeTune, _kSpeechNoEndingProsody,
_kSpeechNoSpeechInterrupt, _kSpeechNumberModeProperty, _kSpeechOfflineModeProperty,
_kSpeechOutputChannelMapProperty, _kSpeechOutputToAudioDeviceProperty,
_kSpeechOutputToExtAudioFileProperty, _kSpeechOutputToFileDescriptorProperty,
_kSpeechOutputToFileURLProperty, _kSpeechPhonemeCallBack,
_kSpeechPhonemeInfoExample, _kSpeechPhonemeInfoHiliteEnd,
_kSpeechPhonemeInfoHiliteStart, _kSpeechPhonemeInfoOpcode,
_kSpeechPhonemeInfoSymbol, _kSpeechPhonemeOptionsProperty,
_kSpeechPhonemeSymbolsProperty, _kSpeechPitchBaseProperty,
_kSpeechPitchCoeffProperty, _kSpeechPitchModProperty, _kSpeechPreflightThenPause,
_kSpeechPreloadVoiceMetadataProperty, _kSpeechRateProperty,
_kSpeechRecentSyncProperty, _kSpeechRefConProperty, _kSpeechResetProperty,
_kSpeechSpeechDoneCallBack, _kSpeechStatusNumberOfCharactersLeft,
_kSpeechStatusOutputBusy, _kSpeechStatusOutputPaused, _kSpeechStatusPhonemeCode,
_kSpeechStatusProperty, _kSpeechSyncCallBack, _kSpeechSynthExtensionProperty,
_kSpeechSynthesizerInfoIdentifier, _kSpeechSynthesizerInfoProperty,
_kSpeechSynthesizerInfoVersion, _kSpeechTextDoneCallBack,
_kSpeechVoiceAge, _kSpeechVoiceCreator, _kSpeechVoiceDemoText,
_kSpeechVoiceGender, _kSpeechVoiceGenderFemale, _kSpeechVoiceGenderMale,
_kSpeechVoiceGenderNeuter, _kSpeechVoiceID, _kSpeechVoiceIdentifier,
_kSpeechVoiceIndividuallySpokenCharacters, _kSpeechVoiceLanguage,
_kSpeechVoiceLocaleIdentifier, _kSpeechVoiceLocalizedNames,
_kSpeechVoiceName, _kSpeechVoiceNameRoot, _kSpeechVoiceNumericID,
_kSpeechVoiceSupportedCharacters, _kSpeechVoiceSynthesizerNumericID,
_kSpeechVoiceUnicodeCharBegin, _kSpeechVoiceUnicodeCharEnd,
_kSpeechVoiceVersion, _kSpeechVolumeProperty, _kSpeechWordCFCallBack,
_kSpeechWordCallBack, _kVoiceIndividuallySpokenCharacters,
_kVoiceSupportedCharacters ]
- targets: [ arm64e-macos, arm64-macos ]
symbols: [ _CancelTalkingAlertForPID, _DisposeServerConnection, _DisposeSpeechDoneUPP,
_DisposeSpeechErrorUPP, _DisposeSpeechPhonemeUPP, _DisposeSpeechSyncUPP,
_DisposeSpeechTextDoneUPP, _DisposeSpeechWordUPP, _InitServerConnection,
_InvokeSpeechDoneUPP, _InvokeSpeechErrorUPP, _InvokeSpeechPhonemeUPP,
_InvokeSpeechSyncUPP, _InvokeSpeechTextDoneUPP, _InvokeSpeechWordUPP,
_IsAppAlreadyRunning, _IsValueCArrayOK, _MTUOpenResourceFile,
_MTUReadResourceDataFile, _NewSpeechDoneUPP, _NewSpeechErrorUPP,
_NewSpeechPhonemeUPP, _NewSpeechSyncUPP, _NewSpeechTextDoneUPP,
_NewSpeechWordUPP, _SendMessagePrimitive, _SendMessageToServer,
_StartServerConnection, _TTSIsSpeakingSelection_XPC, _TTSStartSpeakingSelectionWithString_XPC,
_TTSStartSpeakingSelection_XPC, _TTSStopSpeakingSelection_XPC,
__Z16UseDictionaryPtrP19SpeechChannelRecordPKvm, __Z36SetPreferredVoiceIdentifierForLocalePK10__CFLocalePK10__CFString,
__Z37CopyPreferredVoiceIdentifierForLocalePK10__CFLocale,
__ZN13SpeechGlobals11CopyVoiceIDEPK9VoiceSpecPPK10__CFString,
__ZN13SpeechGlobals13CopyVoicePathEPK9VoiceSpecPPK10__CFString,
__ZN13SpeechGlobals13SessionSwitchE19CGSNotificationTypePvjS1_,
__ZN13SpeechGlobals14GetChannelByIdEy, __ZN13SpeechGlobals14SendXPCMessageEPv10SpeechArch,
__ZN13SpeechGlobals15RegisterChannelEP19SpeechChannelHandle,
__ZN13SpeechGlobals15SetSessionStateEb, __ZN13SpeechGlobals15SetupConnectionEPKc,
__ZN13SpeechGlobals15ValidateChannelEP19SpeechChannelHandle,
__ZN13SpeechGlobals16ArchForVoiceSpecEPK9VoiceSpec, __ZN13SpeechGlobals17ConnectionForArchE10SpeechArch,
__ZN13SpeechGlobals17UnregisterChannelEP19SpeechChannelHandle,
__ZN13SpeechGlobals19AddArchForVoiceSpecEPK9VoiceSpec10SpeechArch,
__ZN13SpeechGlobals19CopyVoiceAttributesEPK9VoiceSpecPPK14__CFDictionary,
__ZN13SpeechGlobals20CopyVoiceDescriptionEPK10__CFStringP16VoiceDescription,
__ZN13SpeechGlobals20CopyVoiceDescriptionEPK9VoiceSpecP16VoiceDescriptionb,
__ZN13SpeechGlobals20PerformOnCorrectArchEPK9VoiceSpecU13block_pointerFv10SpeechArchPbE,
__ZN13SpeechGlobals21BuildArchForVoiceSpecEPK9VoiceSpec, __ZN13SpeechGlobals22ArchForVoiceIdentifierEPK10__CFString,
__ZN13SpeechGlobals23MayHaveNonNativeEnginesEv, __ZN13SpeechGlobals25AddArchForVoiceIdentifierEPK10__CFString10SpeechArch,
__ZN13SpeechGlobals27BuildArchForVoiceIdentifierEPK10__CFString,
__ZN13SpeechGlobals32RecomputeMayHaveNonNativeEnginesEv, __ZN13SpeechGlobals8InstanceEv,
__ZN13SpeechGlobals9sInstanceE, __ZN13SpeechGlobalsC1Ev, __ZN13SpeechGlobalsC2Ev,
__ZN14SpeechAPITimer5SetupEv, __ZN18SpeechElapsedTimer11ElapsedTimeEv,
__ZN19SpeechChannelHandle10CopyVoicesEPKv, __ZN19SpeechChannelHandle10InitializeEP9VoiceSpec,
__ZN19SpeechChannelHandle10SetLoggingEii, __ZN19SpeechChannelHandle10SpeechBusyEb,
__ZN19SpeechChannelHandle10StopSpeechExb, __ZN19SpeechChannelHandle11EnvironmentEPPKcS2_,
__ZN19SpeechChannelHandle11FromChannelEP19SpeechChannelRecord,
__ZN19SpeechChannelHandle11PauseSpeechEx, __ZN19SpeechChannelHandle11SetCallbackEPFvP19SpeechChannelRecordPvE,
__ZN19SpeechChannelHandle11SetCallbackEPFvP19SpeechChannelRecordPvP9__CFErrorE,
__ZN19SpeechChannelHandle11SetCallbackEPFvP19SpeechChannelRecordPvPK10__CFString7CFRangeE,
__ZN19SpeechChannelHandle11SetCallbackEPFvP19SpeechChannelRecordPvPPKvPmPiE,
__ZN19SpeechChannelHandle11SetCallbackEPFvP19SpeechChannelRecordPvjE,
__ZN19SpeechChannelHandle11SetCallbackEPFvP19SpeechChannelRecordPvmtE,
__ZN19SpeechChannelHandle11SetCallbackEPFvP19SpeechChannelRecordPvsE,
__ZN19SpeechChannelHandle11SetCallbackEPFvP19SpeechChannelRecordPvslE,
__ZN19SpeechChannelHandle11SpeakBufferEPKvmx, __ZN19SpeechChannelHandle12CurrentVoiceEv,
__ZN19SpeechChannelHandle12OutputToFileEP18OpaqueExtAudioFile,
__ZN19SpeechChannelHandle12OutputToFileEPKv, __ZN19SpeechChannelHandle13SpeakCFStringEPK10__CFStringPK14__CFDictionary,
__ZN19SpeechChannelHandle13TrackPropertyEPKcPv, __ZN19SpeechChannelHandle13UseDictionaryEPK14__CFDictionary,
__ZN19SpeechChannelHandle13UseDictionaryEPKvm, __ZN19SpeechChannelHandle14CachedPropertyEPKc,
__ZN19SpeechChannelHandle14ContinueSpeechEv, __ZN19SpeechChannelHandle14HandleCallbackEPvb,
__ZN19SpeechChannelHandle14PrivateChannelEv, __ZN19SpeechChannelHandle14RecoverChannelEv,
__ZN19SpeechChannelHandle14RegisterModuleEPK7__CFURL, __ZN19SpeechChannelHandle14TextToPhonemesEPKvmPPvPl,
__ZN19SpeechChannelHandle15PermitAllVoicesEv, __ZN19SpeechChannelHandle16UnregisterModuleEPK7__CFURL,
__ZN19SpeechChannelHandle17SetSpeechPropertyEPK10__CFStringPKv,
__ZN19SpeechChannelHandle17SetSpeechPropertyEPK10__CFStringRK13DelimiterInfo,
__ZN19SpeechChannelHandle17SetSpeechPropertyEPK10__CFStringRK14SpeechXtndData,
__ZN19SpeechChannelHandle17SetSpeechPropertyEPK10__CFStringRK9VoiceSpec,
__ZN19SpeechChannelHandle17SetSpeechPropertyEPK10__CFStringb,
__ZN19SpeechChannelHandle17SetSpeechPropertyEPK10__CFStringi,
__ZN19SpeechChannelHandle17SetSpeechPropertyEPK10__CFStringj,
__ZN19SpeechChannelHandle17SetSpeechPropertyEPK10__CFStringx,
__ZN19SpeechChannelHandle18CopySpeechPropertyEPK10__CFStringP14SpeechXtndData,
__ZN19SpeechChannelHandle18CopySpeechPropertyEPK10__CFStringP15SpeechErrorInfo,
__ZN19SpeechChannelHandle18CopySpeechPropertyEPK10__CFStringP16SpeechStatusInfo,
__ZN19SpeechChannelHandle18CopySpeechPropertyEPK10__CFStringP17SpeechVersionInfo,
__ZN19SpeechChannelHandle18CopySpeechPropertyEPK10__CFStringP9VoiceSpec,
__ZN19SpeechChannelHandle18CopySpeechPropertyEPK10__CFStringPPKv,
__ZN19SpeechChannelHandle18CopySpeechPropertyEPK10__CFStringPPP17PhonemeDescriptor,
__ZN19SpeechChannelHandle18CopySpeechPropertyEPK10__CFStringPb,
__ZN19SpeechChannelHandle18CopySpeechPropertyEPK10__CFStringPi,
__ZN19SpeechChannelHandle18CopySpeechPropertyEPK10__CFStringPj,
__ZN19SpeechChannelHandle18CopySpeechPropertyEPK10__CFStringPx,
__ZN19SpeechChannelHandle18SetLatencyCallbackEPFvP19SpeechChannelRecordPvjE,
__ZN19SpeechChannelHandle19CopyVoiceAttributesEPK9VoiceSpecPPK14__CFDictionary,
__ZN19SpeechChannelHandle19CopyVoiceBundlePathEPK9VoiceSpecPPK10__CFString,
__ZN19SpeechChannelHandle19OutputToAudioDeviceEPKv, __ZN19SpeechChannelHandle19OutputToAudioDeviceEj,
__ZN19SpeechChannelHandle20CopyPhonemesFromTextEPK10__CFStringPS2_,
__ZN19SpeechChannelHandle20CopyVoiceDescriptionEPK9VoiceSpecP16VoiceDescription,
__ZN19SpeechChannelHandle22OutputToFileDescriptorEPKv, __ZN19SpeechChannelHandle32CopyIdentifierStringForVoiceSpecEPK9VoiceSpec,
__ZN19SpeechChannelHandle32MakeVoiceSpecForIdentifierStringEPK10__CFStringP9VoiceSpec,
__ZN19SpeechChannelHandle37CopyIdentifierStringForPreferredVoiceEPK9__CFArrayPK10__CFLocale,
__ZN19SpeechChannelHandle8ShutdownEv, __ZN19SpeechChannelHandle9SetRefConEPv,
__ZN19SpeechChannelHandleC1Ev, __ZN19SpeechChannelHandleC2Ev,
__ZN19SpeechChannelHandleD1Ev, __ZN19SpeechChannelHandleD2Ev,
__ZltRK9VoiceSpecS1_, _gOurCGSConnectionID, _gServerConnections,
_kSSDKeyAllVoices, _kSSDKeyCallback, _kSSDKeyChannel, _kSSDKeyEnabled,
_kSSDKeyEncoding, _kSSDKeyError, _kSSDKeyFlags, _kSSDKeyLength,
_kSSDKeyLocale, _kSSDKeyMessage, _kSSDKeyMode, _kSSDKeyOffset,
_kSSDKeyPath, _kSSDKeyProperty, _kSSDKeyReply, _kSSDKeySetEnv,
_kSSDKeySystemWide, _kSSDKeyTAAppPID, _kSSDKeyTAEnabled, _kSSDKeyTANotifyType,
_kSSDKeyTARegID, _kSSDKeyTARegProps, _kSSDKeyText, _kSSDKeyTextID,
_kSSDKeyUnsetEnv, _kSSDKeyValue, _kSSDKeyVoiceAttr, _kSSDKeyVoiceDesc,
_kSSDKeyVoiceID, _kSSDKeyVoiceList, _kSSDKeyVoiceSpec, _kSSDKeyWhere,
_kSpeechSynthesizerInfoManufacturer, _kSpeechVoiceGroup, _kSpeechVoiceGroupCompact,
_kSpeechVoiceGroupCustom, _kSpeechVoiceGroupCustomCompact,
_kSpeechVoiceGroupDefault, _kSpeechVoiceRelativeDesirability,
_kVoiceConstantRateOnly, _kVoiceShowInFullListOnly, _sCachedTimeAnnouncementsDictionary ]
objc-classes: [ SpeechSynthesisApps ]
...

View File

@@ -0,0 +1,71 @@
---
Name: ApplicationServices
SwiftVersions:
- Version: 4
Functions:
- Name: PMCreateGenericPrinter
Parameters:
- Position: 0
Type: "PMPrinter _Nonnull * _Nonnull"
- Name: PMCreatePageFormat
Parameters:
- Position: 0
Type: "PMPageFormat _Nonnull * _Nonnull"
- Name: PMCreatePageFormatWithPMPaper
Parameters:
- Position: 0
Type: "PMPageFormat _Nonnull * _Nonnull"
- Name: PMCreatePrintSettings
Parameters:
- Position: 0
Type: "PMPrintSettings _Nonnull * _Nonnull"
- Name: PMCreateSession
Parameters:
- Position: 0
Type: "PMPrintSession _Nonnull * _Nonnull"
- Name: PMGetPageFormatPaper
Parameters:
- Position: 1
Type: "PMPaper _Nonnull * _Nonnull"
- Name: PMPageFormatCreateDataRepresentation
Parameters:
- Position: 1
Type: "CFDataRef _Nonnull * _Nonnull"
- Name: PMPageFormatCreateWithDataRepresentation
Parameters:
- Position: 1
Type: "PMPageFormat _Nonnull * _Nonnull"
- Name: PMPaperGetID
Parameters:
- Position: 1
Type: "CFStringRef _Nonnull * _Nonnull"
- Name: PMPresetCreatePrintSettings
Parameters:
- Position: 2
Type: "PMPrintSettings _Nonnull * _Nonnull"
- Name: PMPrintSettingsCreateDataRepresentation
Parameters:
- Position: 1
Type: "CFDataRef _Nonnull * _Nonnull"
- Name: PMPrintSettingsCreateWithDataRepresentation
Parameters:
- Position: 1
Type: "PMPrintSettings _Nonnull * _Nonnull"
- Name: PMPrinterCopyHostName
Parameters:
- Position: 1
Type: "CFStringRef _Nonnull * _Nonnull"
- Name: PMPrinterCopyState
Parameters:
- Position: 1
Type: "CFDictionaryRef _Nonnull * _Nonnull"
- Name: PMSessionCreatePrinterList
Parameters:
- Position: 1
Type: "CFArrayRef _Nonnull * _Nonnull"
- Position: 3
Type: "PMPrinter _Nonnull * _Nullable"
- Name: PMSessionGetCurrentPrinter
Parameters:
- Position: 1
Type: "PMPrinter _Nonnull * _Nonnull"

View File

@@ -0,0 +1,73 @@
/*
File: ApplicationServices/ApplicationServices.h
Contains: Master include for ApplicationServices public framework
Copyright: (c) 2000-2012 by Apple Inc. All rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __APPLICATIONSERVICES__
#define __APPLICATIONSERVICES__
#ifndef __AVAILABILITY__
#include <Availability.h>
#endif
#ifndef __CORESERVICES__
#include <CoreServices/CoreServices.h>
#endif
#ifndef __ATS__
#include <ATS/ATS.h>
#endif
#ifndef __COLORSYNC__
#include <ColorSync/ColorSync.h>
#endif
#ifndef __COREGRAPHICS__
#include <CoreGraphics/CoreGraphics.h>
#endif
#ifndef __CORETEXT__
#include <CoreText/CoreText.h>
#endif
#ifndef __HISERVICES__
#include <HIServices/HIServices.h>
#endif
#ifndef __IMAGEIO__
#include <ImageIO/ImageIO.h>
#endif
#if __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_12_0 || __LANGANALYSIS_FORCE_INCLUSION_FROM_APPLICATIONSERVICES__
// LangAnalysis.framework was fully removed in macOS 12.0, after being deprecated in macOS 10.5
#ifndef __LANGANALYSIS__
#if defined(__has_include) && __has_include(<LangAnalysis/LangAnalysis.h>)
#include <LangAnalysis/LangAnalysis.h>
#elif __LANGANALYSIS_FORCE_INCLUSION_FROM_APPLICATIONSERVICES__
#include <LangAnalysis/LangAnalysis.h>
#endif
#endif
#endif
#ifndef __PRINTCORE__
#include <PrintCore/PrintCore.h>
#endif
#ifndef __QD__
#include <QD/QD.h>
#endif
#ifndef __SPEECHSYNTHESIS__
#include <SpeechSynthesis/SpeechSynthesis.h>
#endif
#endif /* __APPLICATIONSERVICES__ */

View File

@@ -0,0 +1,30 @@
/*
File: ApplicationServices.r
Contains: Master include for ApplicationServices public framework
Copyright: (c) 2000-2012 by Apple Inc. All rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __APPLICATIONSERVICES_R__
#define __APPLICATIONSERVICES_R__
#ifndef __CORESERVICES_R__
#include <CoreServices/CoreServices.r>
#endif
#ifndef __HISERVICES_R__
#include <HIServices/HIServices.r>
#endif
#ifndef __QD_R__
#include <QD/QD.r>
#endif
#endif /* __APPLICATIONSERVICES_R__ */

View File

@@ -0,0 +1,41 @@
framework module ApplicationServices [extern_c] {
umbrella header "ApplicationServices.h"
export *
module * { export * }
framework module ATS [extern_c] {
umbrella header "ATS.h"
export *
module * { export * }
}
framework module ATSUI [extern_c] {
umbrella header "ATSUnicode.h"
export *
module * { export * }
}
framework module HIServices [extern_c] {
umbrella header "HIServices.h"
export *
module * { export * }
}
framework module PrintCore [extern_c] {
umbrella header "PrintCore.h"
export *
module * { export * }
}
framework module QD [extern_c] {
umbrella header "QD.h"
export *
module * { export * }
}
framework module SpeechSynthesis [extern_c] {
umbrella header "SpeechSynthesis.h"
export *
module * { export * }
}
}